我知道如何使用SQL_CALC_FOUND_ROWS
和Limit
来返回分页的总行数和结果。
但我的问题是......
如果(出于性能目的)我想显示总行数是否超过1,000,我只想返回1,000(即使有更多记录),该怎么办?
SELECT Count(id) FROM table WHERE 1
我谷歌很多,但找不到这个。我想到这可能会提高全文搜索速度,例如。
提前感谢。
答案 0 :(得分:4)
在许多情况下,它可以更快,但你应该测试它:
SELECT count(*) FROM ( SELECT 1 FROM t LIMIT 1000 ) a
答案 1 :(得分:1)
我很确定mysql有自己的内置行计数器,当记录输入时,标记会上升一个档次,你能做的就是这样:
$query = "SELECT * FROM table WHERE maxrows = '1'";
然后有一千行在maxrows
单元格中得到一个值,另外一千行的值为2,依此类推
答案 2 :(得分:1)
SELECT LEAST(Count(id),1000) FROM table WHERE 1
有关LEAST功能的文档,请访问:http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#function_least