Mysql索引

一、索引:

索引是对数据库表中的一列或者多列的值进行排序的一种结构,它是一个单独的、存储在磁盘上的数据结构,它们包含着对数据表里所有记录的引用指针。

 

二、索引的分类:

 

 

普通索引:

 

1. 创建索引:

法一:

CREATE INDEX indexName ON mytable(username(length));  -- 如果是CHAR,VARCHAR类型,length可以小于字段实际长度;如果是BLOB和TEXT类型,必须指定 length。

例:CREATE INDEX indexAge ON employee(age);


法二:

ALTER table tableName ADD INDEX indexName(columnName);

例:ALTER table employee ADD INDEX indexAge(age);
 

法三:

CREATE TABLE mytable(  
 
ID INT NOT NULL,   
 
username VARCHAR(16) NOT NULL,  
 
INDEX [indexName] (username(length))  
 
);


2.删除索引:

DROP INDEX [indexName] ON mytable;

例子:DROP INDEX indexAge ON employee;

 

唯一索引:

 

1. 创建索引:

法一:

CREATE UNIQUE INDEX indexName ON mytable(username(length))
例:CREATE UNIQUE INDEX indexAge ON employee(age);


法二:

ALTER table mytable ADD UNIQUE [indexName] (username(length))
例:ALTER table employee ADD UNIQUE indexAge(age);
 

法三:

CREATE TABLE mytable(  
 
ID INT NOT NULL,   
 
username VARCHAR(16) NOT NULL,  
 
UNIQUE [indexName] (username(length))  
 
);


2.删除索引:

ALTER TABLE tableName DROP INDEX indexName;

例子:ALTER TABLE employee DROP INDEX indexAge;

组合索引:

 

1. 创建索引:

CREATE INDEX multilind ON employee(age,sex);

2.删除索引:

ALTER TABLE employee DROP INDEX multilind;


 

三、索引优化:

 

posted @ 2018-06-04 23:54  艾白羊  阅读(130)  评论(0编辑  收藏  举报