MySQL 5种索引应用

唯一索引 unique

create unique index username ON test(user_name);

普通索引 noraml

create index password on test( password );

全文索引 fulltext

create fulltext index text on test(text);

组合索引

create index (索引名)username、password on (表名)test ((添加索引的字段)user_name, password)

Mysql各种索引区别:

普通索引(INDEX):最基本的索引,没有任何限制

唯一索引(UNIQUE):与"普通索引"类似,不同的就是:索引列的值必须唯一,但允许有空值。

主键索引(PRIMARY):它 是一种特殊的唯一索引,不允许有空值。

全文索引(FULLTEXT ):仅可用于 MyISAM 表, 用于在一篇文章中,检索文本信息的, 针对较大的数据,生成全文索引很耗时好空间。

组合索引:为了更多的提高mysql效率可建立组合索引,遵循”最左前缀“原则。

索引设计原则

为数据量大,查询频繁的表建立索引

针对常作为查询条件、排序、分组操作的字段建立索引

尽量选择区分度高的列作为索引,尽量建立唯一索引,区分度越高,使用索引的效率越高

尽量使用联合索引,减少单列索引,查询时,联合索引很多时候可以覆盖索引,节省存储空间,避免回表,提高查询效率

如果是字符串类型的字段,字段的长度较长,可以针对于字段的特点,建立前缀索引

如果索引列不能存储 NULL 值,在创建表时使用 NOT NULL 约束它

你可能感兴趣的:(mysql,数据库,sql)