江新宇

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');

这样一次查询就能得到分页所要的总数,自然简单效率又更高了。

posted @ 2010-08-14 14:36  新风宇宙-江新宇的博客  阅读(198)  评论(0编辑  收藏  举报