Maison > développement back-end > tutoriel php > mysql条件使用or查询不会触发索引?

mysql条件使用or查询不会触发索引?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Libérer: 2016-06-23 14:16:20
original
1685 Les gens l'ont consulté

说法是:where条件中出现了or,不会使用索引


我测试结果如下:

mysql> explain select * from emp where ename="dsleos" or ename="saesad" \G*************************** 1. row ***************************           id: 1  select_type: SIMPLE        table: emp         type: rangepossible_keys: e_i          key: e_i      key_len: 62          ref: NULL         rows: 2        Extra: Using where1 row in set (0.00 sec)
Copier après la connexion


触发了索引,,到底使用or会不会触发索引啊?


回复讨论(解决方案)

当然会走索引。
当然了,如果你只是测试,因为数据库中数据量不够大,Mysql引擎可能智能地放弃走索引而直接查询。

or前后的字段都有索引, 所以会走索引的(貌似myisam引擎和innodb引擎的结果不同。)

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal