MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。
创建索引时,你需要确保该索引是应用在 SQL 查询语句的条件(一般作为 WHERE 子句的条件)。
Mysql中的索引,其实就是表中的列
查询表有哪些列是索引 :
show index from 表名 ;
其中 Table表名 key_name索引名 column_name列名
普通索引
这是最基本的索引,它没有任何限制。它有以下几种创建方式:
1.CREATE INDEX indexName ON table_name (column_name) 创建索引
2.ALTER table tableName ADD INDEX indexName(columnName) 为表添加索引
3.CREATE TABLE mytable(
ID INT NOT NULL,
username VARCHAR(16) NOT NULL,
INDEX [indexName] (username(length))
); 建表时直接指定索引
4.DROP INDEX [indexName] ON mytable; 删除索引
唯一索引
它与前面的普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。它有以下几种创建方式:
1.CREATE UNIQUE INDEX indexName ON mytable(username(length)) 创建索引
2.ALTER table mytable ADD UNIQUE [indexName] (username(length)) 添加索引
3.CREATE TABLE mytable(
ID INT NOT NULL,
username VARCHAR(16) NOT NULL,
UNIQUE [indexName] (username(length))
); 建表时直接指定索引