在 mysql 中,如果select时 offset 很大, 即使相关索引建的挺好, 也会造成慢查询.
如:
索引只能找到主键,要取其他字段,还要用主键逐个查表,判断条件并排序,然后抛弃 offset 个, 留下 offset+1 到 offset+limit 个. 时间被花在了用主键逐个查表取别的字段那里了.
如果能在找主键的时候就抛弃不需要的行,然后需要其他字段的时候再按主键取,就能避免逐条按主键取其他字段的 IO 时间, 从而提高性能.
https://www.jb51.net/article/141933.htm
这个解决起来很麻烦,不过有解决途径:在原数据库里面导出SQL语句;找出符合现在低版本的SQL语句代码;然后在代版本中运行相关的SQL语句就OK了,、毕竟他们都是MYSQL都支持MYSQL语句,只是有一些语法上面的区别而已。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)