Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.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
Sql server 2005 在tsql中被128有效除法_Sql Server 2005_Tsql - Fatal编程技术网

Sql server 2005 在tsql中被128有效除法

Sql server 2005 在tsql中被128有效除法,sql-server-2005,tsql,Sql Server 2005,Tsql,作为实现半衰期行为的一部分,我需要每隔几天对大约十万行执行x=x-x/128。tsql是否足够聪明,可以有效地进行128除法(作为一个位移位),还是与130除法同样有效 如果tsql不够聪明,我能做些聪明的事情来提高效率吗?您可以使用带有persistend标志的计算列来确保值被物理存储,而不是每次显示时都重新计算。这可能(可能,取决于您的具体情况)更有效。十万行还不足以测量除法运算和移位运算之间的性能差异。特别是如果你只需要每隔几天做一次。最好把时间花在担心其他问题上。你很可能会遇到整数数学问

作为实现半衰期行为的一部分,我需要每隔几天对大约十万行执行x=x-x/128。tsql是否足够聪明,可以有效地进行128除法(作为一个位移位),还是与130除法同样有效


如果tsql不够聪明,我能做些聪明的事情来提高效率吗?

您可以使用带有
persistend
标志的计算列来确保值被物理存储,而不是每次显示时都重新计算。这可能(可能,取决于您的具体情况)更有效。

十万行还不足以测量除法运算和移位运算之间的性能差异。特别是如果你只需要每隔几天做一次。最好把时间花在担心其他问题上。

你很可能会遇到整数数学问题。我不知道你的x值是什么,但如果它们也是整数,你想除以128.0,如果你不知道;我不想把答案四舍五入到最接近的整数。

你说得对,但在这种情况下,我不太在乎。我仍在考虑是否要将所有值乘以10或100,以减少舍入的影响,并将其保持为整数,但对于我所做的工作,我并不担心数字是否准确。