我有一个包含三个字段的数据库(MySQL)表:id,score和percent。SQL语句中计算的速度
长话短说,我需要做的每一个看起来像这样的记录计算:
(得分* 10)/(1 - 百分比)=价值
然后我需要使用在我的代码和ORDER BY字段中都是值。编写SQL不是我的问题 - 我只是担心这个声明的效率。在我的SQL语句中做这种计算是最有效的资源利用方式,还是我会更好地获取数据,然后通过PHP进行数学计算?
如果SQL是最好的办法,是否有任何提示,我可以记住保持我的SQL拉尽可能快?
更新1:只是为了澄清一些事情,因为它看起来像许多答案都假设不同:分数和百分比都会不断变化。实际上,几乎每次用户与应用程序交互时,这些字段都会改变(这些字段实际上与用户相关联,顺便说一句)。至于记录的数量,现在它非常小,但我想要为约200万条记录(用户)的目标集合进行缩放。在任何给定时间,我只需要20个记录,但我需要它们成为按此计算值排序的前20条记录。
您可以使用此值将另一个字段添加到数据库中,在添加或更新数据时计算它。你有基准测试需要多长时间? – 2011-06-21 20:21:20
使用MySQL的“解释”函数来查看时间执行。 – FinalForm