MySQL中show命令
1 | SHOW DATABASES //列出 MySQL Server 数据库。 |
1 分页查询涉及的性能优化
在进行分页功能设计时,避免对总条目数量的查询
假如每页显示 20 条数据,那么查询数据库的时候,用
limit #offset#, 21
取出 21 条记录,页面展现20条。如果取到了 21 条,说明下一页还有数据,在页面展示下一页按钮。如果结果集数量不足 21,说明已经到了最后一页,无需显示下一页按钮了。这种方式完全避免了在分页查询时对总条目数量的查询。当数据量增大时,limit性能下降
原因分析:
针对下面的分页查询语句进行解析:
select * from table_name where {condition} limit {offset} {count}
假如
offset
的值很大,那么这条语句会先查询完前offset
条数据之后,再开始截取count
条数据进行返回,所以该语句的性能会随着数据量的增加,不断减小。优化策略:
自定义一个自增的主键id,然后该用id进行分页查询,如:
1
select * from {table_name} where {condition} id >= minid and id <= maxid
Reference
写在最后
欢迎大家关注鄙人的公众号【麦田里的守望者zhg】,让我们一起成长,谢谢。
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment