当前位置:首页 » Mysql技术教程

MYSQL索引区别

2018-06-08 17:44 本站整理 浏览(24)
(1)PRIMARY:主键索引。索引列唯一且不能为空;一张表只能有一个主键索引(主键索引通常在建表的时候就指定)

CREATE TABLE T_USER(ID INT NOT NULL,USERNAME VARCHAR(16) NOT NULL,PRIMARY KEY(ID))

  (2)NORMAL:普通索引。索引列没有任何限制;

    建表时指定

    CREATE TABLE T_USER(ID INT NOT NULL,USERNAME VARCHAR(16) NOT NULL,INDEX USERNAME_INDEX(USERNAME(16))) //给列USERNAME建普通索引USERNAME_INDEX

    ALTER语句指定

    ALTER TABLE T_USER ADD INDEX U_INDEX (USERNAME) //给列USERNAME建普通索引 U_INDEX

    删除索引

    DROP INDEX U_INDEX ON t_user  //删除表t_user中的索引U_INDEX

    (3)UNIQUE:唯一索引。索引列的值必须是唯一的,但允许有空;
    建表时指定

    CREATE TABLE t_user(ID INT NOT NULL,USERNAME VARCHAR(16) NOT NULL,UNIQUE U_INDEX(USERNAME)) //给列USERNAME添加唯一索引T_USER

    ALTER语句指定

    ALTER TABLE t_user ADD UNIQUE u_index(USERNAME) //给列T_USER添加唯一索引u_index

    删除索引

    DROP INDEX U_INDEX ON t_user

  (4)FULLTEXT:全文搜索的索引。FULLTEXT 用于搜索很长一篇文章的时候,效果最好。用在比较短的文本,如果就一两行字的,普通的 INDEX 也可以。索引的新建和删除和上面一致,这里不再列举...
组合索引(复合索引)