分页查询优化:
起因:
一般来说分页查询可以使用select * from tablename limit m,n 进行分页,但由于数据库是直接找出n条,然后去掉前m条来进行查询,导致数据量很大时,速度会有明显下降,所以再次记一下进行优化的方式.
方法:
分页查询一般分两种,一种是电梯分页,一种是流式分页.
电梯查询:电梯分页通常是指像电梯按楼层一样,点击对应的页面进行跳转,如下所示
像这种一般只会给你显示几页,有些可能会给你填充数字去跳转,但一般来说很少使用,如果是只显示几页是很好解决的,直接做了相应的限制,很难达到数据量很大的情况,就算万一有人闲的没事干,一直往后翻页,则只需将数据的id保存下来,下次查询时使用此id去查询即可,对应的sql语句为 select * from comment where id >=( select id from comment use index(primary) where id>=? limit ?,1) limit ? ,而如果需要设计填充数字跳转,则对相应的跳转量进行限制即可,如果还是很慢,则可以考虑进行对半倒序的操作,即后一半的数据可以使用desc进行倒序分页查询即可.
流式查询:流式查询就是平时刷短视频一样,不断往下滑,就会不断有新的数据查询,这样的分页查询同样是可以保存上一次查询的id往下查,速度不会变慢.