百万数据量关联查询的索引优化

1,336 阅读1分钟

问题场景:简简单单数据量百万的单表,外关联几个十万级别的表,出现慢查询的的问题

某SpringBoot项目中,使用Mysql数据库,某列表关联查询的表众多,且本身数据量较大(百万级),首先想到的就是做数据查询索引优化

需要把握的几个要素

在关联查询中,需要JOIN的字段,数据类型必须绝对一致

如果数据类型不一致,将导致索引失效,全表扫描,这也是EXPLAIN检查执行计划后,出现all需要检查的一项内容

超过三个表禁止JOIN

效率下降太多了

多表关联时保证被关联的字段有索引

完成以上几点后,使用explain检查执行计划 保证除了主表没有全表扫描,这样的列表一般查询性能就不会太差了