MySQL列索引与多列索引浅析
id int not null auto_increment,
first_name varchar(30) not null,
last_name varchar(30) not null,
primary key(id),
index index_first(first_name),
index index_last(last_name)
)engine myisam charset utf8;
创建一个使用多列索引的表:
create table more_index_test1(
id int not null auto_increment,
first_name varchar(30) not null,
last_name varchar(30) not null,
primary key(id),
index index_first(first_name,last_name)
)engine myisam charset utf8;
SELECT * FROM more_index_test1 WHERE first_name =‘1‘ AND first_name =‘2‘;
SELECT * FROM more_index_test1 WHERE first_name =‘1‘ AND (first_name =‘2‘ OR first_name =‘3‘);
SELECT * FROM more_index_test1 WHERE first_name =‘1‘ AND first_name >=‘2‘ AND first_name < ‘3‘;
多列建索引比对每个列分别建索引更有优势,因为索引建立得越多就越占磁盘空间,在更新数据的时候速度会更慢。
另外建立多列索引时,顺序也是需要注意的,应该将严格的索引放在前面,这样筛选的力度会更大,效率更高。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。