mysql怎么加分页查询 mysql分页怎么写( 四 )


优先选index key_len小的索引进行count(*),尽量不使用聚簇索引
在没有where条件的情况下 , count(*)和count(常量),如果有非聚簇索引,mysql会自动选择非聚簇索引 , 因为非聚簇索引所占的空间?。绻挥蟹蔷鄞厮饕崾褂镁奂饕?。count(primary key)主键id为聚集索引,使用聚集索引 。有where条件的情况下,是否使用索引会根据where条件判断 。
mysql 数据量大的表如何做分页查询直接用limit start, count分页语句, 也是我程序中用的方法:
select * from product limit start, count
当起始页较小时,查询没有性能问题 , 我们分别看下从10, 100, 1000,10000开始分页的执行时间(每页取20条), 如下:
select * from product limit 10, 200.016秒
select * from product limit 100, 200.016秒
select * from product limit 1000, 200.047秒
select * from product limit 10000, 200.094秒
我们已经看出随着起始记录的增加,时间也随着增大,这说明分页语句limit跟起始页码是有很大关系的 , 那么我们把起始记录改为40w看下(也就是记录的一般左右)select * from product limit 400000, 203.229秒
再看我们取最后一页记录的时间
select * from product limit 866613, 2037.44秒
难怪搜索引擎抓取我们页面的时候经常会报超时,像这种分页最大的页码页显然这种时
间是无法忍受的 。
从中我们也能总结出两件事情:
1)limit语句的查询时间与起始记录的位置成正比
2)mysql的limit语句是很方便,但是对记录很多的表并不适合直接使用 。
关于mysql怎么加分页查询和mysql分页怎么写的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

推荐阅读