索引: 它是对数据库表中的一列或多列的值进行排序后的一种结构,作用是提高表中数据的查询速度。虽然索引可以提高数据的查询速度,但会占用一定的磁盘空间,也会消耗时间。
○ 普通索引
可以创建在任何数据类型中,其值是否唯一和非空没有固定要求。
○ 唯一性索引
唯一性索引是由UINQUE定义的,该索引所在的字段的值必须是唯一的。
○ 全文索引
全文索引由FULLTEXT定义的,它只能创建在CHAR、VARCHAR或TEXT类型的字段上。
○ 单列索引
单列索引指的是在表中单个字段上创建索引。
○ 多列索引
多列索引指的是在表中多个字段上创建索引,只有在查询条件中使用了这些字段中的第一个字段时,该索引才会被使用。
○ 空间索引
空间索引是由SPATIAL定义的索引,它只能创建在空间数据类型的字段上
(GEOMETRY、POINT、LINESTRING、POLYGON)
1.创建索引
○ 创建表的时候创建索引
CREATE TABLE 表名(字段名 数据类型(完整性约束条件),
字段名 数据类型(完整性约束条件),
. . .
UNIQUE/FULLTEXT/SPATIAL INDEX/KEY 索引名 字段名 ASC/DESC);
普通索引 不写默认普通索引
唯一性索引
全文索引
单列索引
多列索引
空间索引
○ 使用CREATE INDEX 语句在已经存在的表上创建索引
CREATE UNIQUE/FULLTEXT/SPATIAL INDEX 索引名 ON 表名 字段名(长度) ASC/DESC
普通索引
唯一索引
单列索引
多列索引
全文索引
空间索引
○ 使用ALTER TABLE 语句在已经存在的表上创建索引
ALTER TABLE 表名 ADD UNIQUE/FULLTEXT/SPATIAL INDEX 索引名 字段名(长度)ASC/DESC
2.删除索引
○ ALTER TABLE 表名 DROP INDEX 索引名
○ DROP INDEX 索引名 ON 表名 DROP INDEX indexone ON book;