索引的操作

以下情况下适合创建索引:

1.经常被查询的字段,即在WHERE子句中出现的字段;
2.在分组的字段,即在GROUP BY 子句中出现的字段;
3.存在依赖关系的子表和父表之间的联合查询,即主键和外键字段;
4.设置唯一完整性约束的字段;

以下情况下,不适合创建索引:
1.在查询中很少被使用的字段。
2.拥有许多重复值的字段。


创建索引

CREATE TABLE tdept (
deptno INT,
dname VARCHAR(20),
loc VARCHAR(40),
INDEX index
deptno(deptno)
);

ASC 升序排序,DESC 降序排序

添加普通索引

ALTER TABLE tablename ADD INEX|KEY 索引名(属性名 【(长度)】 【ASC|DESC】)

ALTER TABLE t
dept ADD INDEX indexdeptno(deptno);


创建唯一索引

ALTER TABLE table
name ADD UNIQUE INDEX|KEY 索引名 (属性名 【(长度)】【ASC|DESC】)

ALTER TABLE tdept ADD UNIQUE INDEX indexdeptno(deptno);

创建全文索引

CREATE TABLE tdept (
deptno INT,
dname VARCHAR(20),
loc VARCHAR(20),
FULLTEXT INDEX index
loc(loc)
) engine=MyISAM;

在已经存在的表上创建全文索引

CREATE FULLTEXT INDEX 索引名 ON 表名(属性名 【(长度)】 【ASC|DESC】)

CREATE FULLTEXT INDEX indexlc ON tdept(loc);



ALTER TABLE tdept ADD FULLTEXT INDEX indexloc(loc);

创建表时创建多列索引

CREATE TABLE tdept (

deptno INT,
dname VARCHAR(20),
loc VARCHAR(40),
KEY index
nameloc( dname, loc)
);

在已经存在的表上创建多列索引

CREATE INDEX index
nameloc ON tdept (dname, loc);

ALTER TABLE tdept ADD INDEX indexnameloc(dname, loc);


删除索引

DROP INDEX index
name ON tablename

DROP INDEX index
nameloc ON tdept;

返回读书笔记列表