mysql索引

xiaoxiao2021-02-28  109

一、普通索引     创建索引         CREATE INDEX indexName ON mytable(username(length));     创建表的时候直接指定         ALTER mytable ADD INDEX [indexName] ON (username(length))     删除索引的语法:         DROP INDEX [indexName] ON mytable;        二、唯一索引     它与前面的普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值。如果是组合索引,    则列值的组合必须唯一。     CREATE UNIQUE INDEX indexName ON mytable(username(length))      三、主键索引     它是一种特殊的唯一索引,不允许有空值。一般是在建表的时候同时创建主键索引     CREATE TABLE mytable(   ID INT NOT NULL,    username VARCHAR(16) NOT NULL,   PRIMARY     KEY(ID)   ); 四、组合索引    ALTER TABLE mytable ADD INDEX name_city_age (name(10),city,age);[code]    usernname,city,age   usernname,city   usernname  为什么没有 city,age这样的组合索引呢?   这是因为MySQL组合索引“最左前缀”的结果。 五、建立索引的时机     MySQL只对<,<=,=,>,>=,BETWEEN,IN,以及某些时候的LIKE才会使用索引     在以通配符%和_开头作查询时,MySQL不会使用索引     会使用     SELECT * FROM mytable WHERE username like'admin%'     不会使用     SELECT * FROM mytable WHEREt Name like'
转载请注明原文地址: https://www.6miu.com/read-56314.html

最新回复(0)