自刨自吃,闲云野鹤,眼净心净,天宽地宽。
MySQL 对于 COUNT(*) 和 LIMIT 同时使用的 BUG
对一个有 29 条记录的表进行如下操作:
SELECT COUNT( sys_uia_account.ID ) FROM sys_uia_account结果 29SELECT COUNT( sys_uia_account.ID ) FROM sys_uia_account LIMIT 10结果 29SELECT COUNT( sys_uia_account.ID ) FROM sys_uia_account LIMIT 10 , 10没有结果
看来以后使用 COUNT(*) 的时候不能同时使用 LIMIT offset, ROW_COUNT 这种表达方式了。
PS:如果统计全表记录,使用下面的方法会更加快捷:
1 2 3 | SELECT SQL_CALC_FOUND_ROWS * FROM sys_uia_account; SELECT FOUND_ROWS( ) ; |
唯一需要注意的就是,这两个查询必须在一起进行,因为 SQL_CALC_FOUND_ROWS 不对结果进行任何缓存。