sql性能优化第一篇之分页数据与count数据一次性获取

版权声明:本文为博主原创文章,欢迎转载,转载请注明作者、原文超链接 ,博主地址:https://blog.csdn.net/qq_31122833。 https://blog.csdn.net/qq_31122833/article/details/83894509

相信大部分人都会遇到:在数据库的数据量很大时,分页需要几秒钟才会全部完成;包括分页list的获取和count的获取。那我们完全可以将这两步放到一次sql去执行获取,减少一半的查询时间。这里get到sql_calc_found_rows和SELECT FOUND_ROWS()这两个知识点。看代码:

select SQL_CALC_FOUND_ROWS 
    col_name1 as colName1,
    col_name2 as colName2
from table_name limit 0,10;
select FOUND_ROWS() as count;

在SELECT语句中加上修饰SQL_CALC_FOUND_ROWS 之后,SELECT FOUND_ROWS() 会返回满足条件记录的总数。

这样,你执行完 select SQL_CALC_FOUND_ROWS 之后,再取一下记录总数就行了。

现在,你会获取到如下数据:

 看到没有,两个结果:第一个是分页list,第二个是总数count。接下来怎么办,请继续看第二篇。。。

猜你喜欢

转载自blog.csdn.net/qq_31122833/article/details/83894509