php - mysql对查询的限制

标签 php mysql limit

我正在寻找有关如何处理这个特定问题的一些建议。

我有一个页面,该页面根据查询中带有限制语句的特定条件将 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/

相关文章:

json - HTTP 数据包中可以返回的数量是否有限制?或者这是 WCF JSON 限制?

mysql - 有没有办法在分组发生后限制结果?

php - laravel - 多个作业结束后执行作业

php - 在 JavaScript 中将字符串转换为 Date()

mysql - MySQL 查询中的 GROUP_CONCAT AND ORDER BY FIELD 问题

带条件的 MySQL SUM DISTINCT

MySQL 服务器重载

php - 出现mysqli_fetch_assoc()错误,以某种方式无法解决

php - 使用模仿原始 mysql_real_escape_string 的函数

doctrine - 使用 fetch-joined 集合限制 Doctrine 查询?