Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如果我有一个正弦表,我应该在唤醒时将整个表查询到内存中吗?_C#_Mysql_Sql_Lookup_Trigonometry - Fatal编程技术网

C# 如果我有一个正弦表,我应该在唤醒时将整个表查询到内存中吗?

C# 如果我有一个正弦表,我应该在唤醒时将整个表查询到内存中吗?,c#,mysql,sql,lookup,trigonometry,C#,Mysql,Sql,Lookup,Trigonometry,如果我有一个正弦表,我应该在唤醒时将整个表查询到内存中吗? 或者我应该每调用一次Sin(…)查询一个表吗?对我来说,每次调用Sin(…)时都要访问数据库似乎要贵一点,唤醒时将整个表缓存到C#内存中是正确的做法吗?仅使用Math。Sin将比访问数据库快得多,而不会比使用内存中的查找表慢得多。这并不是使用查找表的好方法 但是,由于您评论说您只是在练习-是的,对于一个不经常(或永远)更改的小表,您应该在启动时将其加载到内存中。仅使用Math.Sin将比访问数据库快得多,而不会比使用内存中的查找表慢得多

如果我有一个正弦表,我应该在唤醒时将整个表查询到内存中吗?
或者我应该每调用一次
Sin(…)
查询一个表吗?对我来说,每次调用
Sin(…)
时都要访问数据库似乎要贵一点,唤醒时将整个表缓存到C#内存中是正确的做法吗?

仅使用
Math。Sin
将比访问数据库快得多,而不会比使用内存中的查找表慢得多。这并不是使用查找表的好方法


但是,由于您评论说您只是在练习-是的,对于一个不经常(或永远)更改的小表,您应该在启动时将其加载到内存中。

仅使用
Math.Sin
将比访问数据库快得多,而不会比使用内存中的查找表慢得多。这并不是使用查找表的好方法


然而,由于您评论说您只是在练习-是的,对于一个不经常(或永远)更改的小表,您应该在启动时将其加载到内存中。

答案取决于您需要在程序生命周期中计算
sin
的次数。如果您需要每小时执行一次或两次,那么查询DB或将表存储在内存中没有任何区别


如果需要经常查询
sin
,将表存储在内存中会更有意义。不用说,内存表中的查找需要以一种高效的方式进行:在一个百万行表上以紧密循环的方式运行线性搜索可能会降低性能,即使与数据库替代方案相比也是如此。

答案取决于您需要在程序生命周期中计算
sin
的次数。如果您需要每小时执行一次或两次,那么查询DB或将表存储在内存中没有任何区别


如果需要经常查询
sin
,将表存储在内存中会更有意义。不用说,内存表中的查找需要以一种高效的方式进行:在一个百万行的表上以紧密循环的方式运行线性搜索可能会降低性能,即使与数据库备选方案相比也是如此。

此表中有多少行?我期望的不会超过1000个。。在这种情况下,一定要将它保存在内存中-事实上,只需使用
Math.Sin
预生成它,您不需要数据库。事实上,您确定需要表吗?动态调用
Math.Sin
是否太慢了?它比访问数据库要快得多。我是sql新手,所以尝试使用查找表来练习好吧,对于一个不会改变的小查找表来说——是的,一开始一定要将它加载到内存中。如果你试图学习sql操作,为什么还要将它加载到内存中——做任何你需要的sql查询。。。作为一个实际问题,整个事情听起来像是个坏主意——从DB加载数据并没有办法比每次计算那个表更好……这个表中有多少行?我期望的不会超过1000个。。在这种情况下,一定要将它保存在内存中-事实上,只需使用
Math.Sin
预生成它,您不需要数据库。事实上,您确定需要表吗?动态调用
Math.Sin
是否太慢了?它比访问数据库要快得多。我是sql新手,所以尝试使用查找表来练习好吧,对于一个不会改变的小查找表来说——是的,一开始一定要将它加载到内存中。如果你试图学习sql操作,为什么还要将它加载到内存中——做任何你需要的sql查询。。。作为一个实际问题,整个事情听起来像是个坏主意——从DB加载数据并没有办法比每次都计算那个表更好。。。。