mysql千万数据加索引卡死关键字

mysql千万数据加索引卡死关键字,第1张

mysql千万数据索引卡死关键字?

想到了从以下方法进行解决:

1)重写Sql,让查询命中索引

2)增加索引

3)1)或者2)方法之后,再加上一个缓存功能

最快捷的方式肯定是2了,但是本表由于逻辑复杂,时不时又批量录入一些数据,已经有了5个索引了,再加索引,恐怕会导致写入慢的问题,而且加索引可能会引起锁表问题。

于是,我先想用方法1解决,可是由于逻辑有点复杂,查询语句比较复杂,改了很多写法都不理想,最后还是选择了方法2,直接表加索引。

由于对于加索引的一些担忧,于是我在本地先尝试了一下(本地数据和线上数据量基本一致,相差不大),结果没想到还挺快的,对于写入的性能也没多大的影响。加入索引后页面秒开,效果很好。

创建索引很慢一般是由于表里的数据太多造成的,

你可以先把表里的数据备份导出成sql脚本

用delete from table;删除表里所有的数据

给 表创建索引,因为表里没有数据,速度 会很快

执行备份的sql脚本导入数据到表里

没有出错,本来就是这么个情况,不是说建了索引就一定比不建索引快,这个索引如果是建立在变化区间不大的字段上,比如说这个字段要么是1 要么是 2,这情况下完全没必要建立索引,或者说建了索引反而会比不建所以更慢,如果这个字段的值变化区间很大,那么建了索引比不建索引更快,当然也不是索引越多越好,这里面有学问,希望对你有所帮助


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7566917.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-07
下一篇 2023-04-07

发表评论

登录后才能评论

评论列表(0条)

保存