在SQL查询或PHP中进行计算?

时间:2015-05-03 09:26:16

标签: php mysql sqlperformance

这是我的第一篇文章,所以我希望我遵守所有惯例:D

我有一个带有x和y坐标的MySql数据库和一个接收其他x和y坐标的php web服务。我想计算平方距离:(x2-x1)^ 2 +(y2-y1)^ 2并从最近到最远的排序

SQL查询(在php中)将是:

SELECT ((x_coor-$x)*(x_coor-$x)+(y_coor-$y)*(y_coor-$y)) AS SquareDis FROM $table ORDER BY SquareDis

在SQL查询或php程序中执行此操作时,对性能更为温和?

提前感谢所有答案!

1 个答案:

答案 0 :(得分:3)

如果要按结果排序,请在SQL中进行计算。

否则,您只是将数据库用作"文件存储"而不是利用它提供的功能。此外,通过在数据库中进行排序,您可以限制返回的行数 - 另一个优化。