索引三表级联查询
索引最好设置在需要经常查询的字段中;
优先优化NestedLoop的内层循环;
保证Join语句中被驱动表上Join条件字段已经被索引;
当无法保证被驱动表的Join条件字段被索引且内存资源充足的前提下,适当将JoinBuffer调大些
最佳左前缀法则:如果索引了多列,要遵守最左前缀法则。指的是从索引的最左前列开始并且不跳过索引中的列。
索引失效的原因
不在索引列山做任何操作(计算、函数、(自动or手动)类型转换),会导致索引失效而转向全表;
存储引擎不能使用索引中范围条件右边的列
例如:建立3个列的联合索引,在where条件中,由于第二列的字段条件中使用了范围查询,导致第三个索引的条件失效
尽量使用覆盖索引(只访问索引的查询(索引列和查询列一致)),减少select
|