我正在寻找有关如何处理这个特定问题的一些建议。
我有一个页面,该页面根据查询中带有限制语句的特定条件将 50 条数据库行返回到 php 页面。
问题是,我需要从完整查询中提取统计信息。
基本上,我需要告诉用户数据库中有 10000 个条目,其中 6000 个是这个,3000 个是那个,但只显示前 50 个。
我的 php 代码报告的数字不准确,因为它基于一个在 50 处停止的查询。
我正在尝试找出处理此问题的最佳方法。
出于性能原因,我认为运行 2 个查询是不明智的。运行计数查询对性能来说是否更具成本效益?
或者我应该运行完整的查询,但通过中断 while 循环将输出限制为 50?
如何处理最好? 谢谢。
最佳答案
您可以像这样使用SQL_CALC_FOUND_ROWS
SELECT `SQL_CALC_FOUND_ROWS` * FROM table_name limit 0,5;
它在应用任何 LIMIT
子句之前获取行数。
http://dev.mysql.com/doc/refman/5.5/en/information-functions.html#function_found-rows
关于php - mysql对查询的限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15151339/