Index ist ein sehr wichtiges Kapitel für MySQL. Es gibt auch viele Index-Wissenspunkte. Wenn Sie sie gründlich beherrschen möchten, müssen Sie jeden Wissenspunkt einzeln aufschlüsseln. Lassen Sie uns heute zunächst über die Situationen sprechen, die zu Indexfehlern führen.
BildzusammenfassungsversionVerwandte kostenlose Lernempfehlungen:
MySQL-Video-TutorialVollwert-Matching (bester Index)
explain select * from user where name = 'zhangsan' and age = 20 and pos = 'cxy' and phone = '18730658760';Nach dem Login kopieren
和索引顺序无关,MySQL底层的优化器会进行优化,调整索引的顺序 explain select * from user where name = 'zhangsan' and age = 20 and pos = 'cxy' and phone = '18730658760';
1. Verstoß ganz links Präfixregel
2. Führen Sie eine beliebige Operation für die Indexspalte aus如果索引有多列,要遵守最左前缀法则 即查询从索引的最左前列开始并且不跳过索引中的列 explain select * from user where age = 20 and phone = '18730658760' and pos = 'cxy';
5. Verwenden Sie ungleich (!=, ) 6. like beginnt mit Platzhalter ('%abc')
如计算、函数、(自动or手动)类型转换等操作,会导致索引失效从而全表扫描 explain select * from user where left(name,5) = 'zhangsan' and age = 20 and phone = '18730658760';
索引范围条件右边的索引列会失效 explain select * from user where name = 'zhangsan' and age > 20 and pos = 'cxy';
只访问索引查询(索引列和查询列一致),减少select* explain select name,age,pos,phone from user where age = 20;
mysql在使用不等于(!=、)的时候无法使用索引会导致全表扫描(除覆盖索引外) explain select * from user where age != 20; explain select * from user where age 20;
索引失效 explain select * from user where name like '%zhangsan';
Das obige ist der detaillierte Inhalt vonEinführung in die Situation eines MySQL-Indexfehlers. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!