mysql 分页优化
很多同学在做分页的时候可能会使用select count(*) as total from ….,然后再limit 。。。这种的方式来做,
其实这样就会造成了两次查询,事实上一条sql语句就可以了,使用SQL_CALC_FOUND_ROWS();
如代码:
| 1 | $sql = "SELECT SQL_CALC_FOUND_ROWS * FROM table LIMIT 0, 10"; |
| 2 |
| 3 | $softlist = $this->_db->fetchAll($sql); |
| 4 | $total = $this->_db->fetchRow('SELECT FOUND_ROWS() total'); |
这样一次查询就能得到分页所要的总数,自然简单效率又更高了。

浙公网安备 33010602011771号