Heim > Datenbank > MySQL-Tutorial > Hauptteil

mysql多列索引详解

WBOY
Freigeben: 2016-06-07 16:38:40
Original
1334 Leute haben es durchsucht

创建多列索引 在t_user表id,userName,email字段上创建多列索引(该表只有此索引): alter table t_user add index USER_INDEX(id, userName, email); 能够利用该索引的查询 符合leftmost index prefixes原则的查询 select * from t_user where id = 40;se

创建多列索引

在t_user表id,userName,email字段上创建多列索引(该表只有此索引):

alter table t_user add index USER_INDEX(id, userName, email);
Nach dem Login kopieren

能够利用该索引的查询

符合leftmost index prefixes原则的查询

select * from t_user where id = 40;
select * from t_user where id between 10 and 50;
select * from t_user where id in (30, 31, 32);
select * from t_user where id = 40 and userName = '侯西阳';
select * from t_user where id = 40 and userName = '侯西阳' and email = 'xiyang.hou@gmail.com';
select * from t_user where id > 40 and userName > 't';
Nach dem Login kopieren

不能利用以上索引的查询

不符合leftmost index prefixes原则的查询

select * from t_user where userName = '侯西阳';
select * from t_user where userName = '侯西阳' and email = 'xiyang.hou@gmail.om';
Nach dem Login kopieren

or查询

select * from t_user where id = 40 or userName = '侯西阳';
Nach dem Login kopieren

不能使用索引的解决方案

  • 在where语句后面的查询字段建立单个索引及多列索引,注意leftmost index prefixes原则,避免建立重复索引

  • or查询使用union来连接查询结果,并在对应的字段上建立索引

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!