如何给mysql表建立联合索引

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何给mysql表建立联合索引相关的知识,希望对你有一定的参考价值。

参考技术A 联合索引是由多个字段组成的索引。CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name[USING index_type]ON tbl_name (index_col_name,...)index_col_name:col_name [(length)] [ASC | DESC] 如果你经常要用到多个字段的多条件查询,可以考虑建立联合索引,一般是除第一个字段外的其它字段不经常用于条件筛选情况,比如说a,b 两个字段,如果你经常用a条件或者a+b条件去查询,而很少单独用b条件查询,那么可以建立a,b的联合索引。如果a和b都要分别经常独立的被用作查询条件,那还是建立多个单列索引。

mysql联合索引如何创建

例如:

CREATE TABLE `test` (‘aaa‘ varchar(16) NOT NULL default ‘‘, ‘bbb‘ varchar(16) NOT NULL default ‘‘, ‘ccc‘ int(11) UNSIGNED NOT NULL default 0, KEY `sindex` (`aaa`,`bbb`,`ccc`) ) ENGINE=MyISAM COMMENT=‘‘;

这样就在 aaa、bbb、ccc 3列上建立联合索引了。

如果表已经建好了,那么就在phpmyadmin里面执行:
alert table test add INDEX `sindex` (`aaa`,`bbb`,`ccc`)

就可以在这3列上建立联合索引

以上是关于如何给mysql表建立联合索引的主要内容,如果未能解决你的问题,请参考以下文章

MySQL InnoDB表创建联合唯一索引出错?

mysql联合索引字段顺序

mysql中,索引,主键,唯一索引,联合索引的区别是?对数据库的性能有啥影响?

mysql联合索引如何创建

深入浅析Mysql联合索引最左匹配原则

mysql 为啥总是推荐使用联合索引而不是单值索引