我想知道用MySQL或像PHP或Python这样的服务器语言处理数据是否更快.我敢肯定,由于索引,缓存等原因,ORDER之类的本机函数在MySQL中会更快,但实际上是在计算排名(包括返回具有相同排名的多个条目的联系):
示例SQL
SELECT TORCH_ID,
distance AS thisscore,
(SELECT COUNT(distinct(distance))+1 FROM torch_info WHERE distance > thisscore) AS rank
FROM torch_info ORDER BY rank
服务器
…而不是只从torch_info ORDER BY得分DESC中执行SELECT TORCH_ID,然后找出Web服务器上PHP的排名.
解决方法:
对于大多数非复杂的计算,MySQL可能会更快.但是,90%的时间数据库服务器是瓶颈,那么您真的要通过使用这些计算来使数据库陷入困境来增加它吗?我本人宁愿将它们放在Web /应用程序服务器上以平衡负载,但这是您的决定.