索引
索引
1、普通索引:INDEX (字段名) 2、唯一性索引:UNIQUE INDEX unique_字段名 (字段名 (升序/降序)) ASC(升序) DESC(降序)
3、全文索引: FULLTEXT INDEX fulltext_字段名(字段名) 4、单列索引:INDEX single_字段名(字段名) 5、多列索引:INDEX multi(字段名1, 字段名n) 6、空间索引:SPATIAL INDEX sp(字段名)
创建空间索引时,所在字段的值不能为空值,并且表的存储引擎为MyISAM。 7、查看索引是否被使用:EXPLAIN SELECT * FROM 字段名WHERE 条件\G 8.查看所创的索引:SHOW INDEX FROM 表名;或 SHOW KEYS FROM 表名;
一、创建表的时候创建索引 格式:
例:
- 创建普通索引
例:
- 创建唯一性索引
例
- 创建全文索引
例
- 单列索引
例:
- 创建多列索引
例:
- 创建空间索引
例:
空间索引要的字段的数据类型要是GEOMETRY 并且要是非空约束NOT NULL
二、使用CREATE INDEX 语句在已经存在的表上创建索引
- 创建普通索引
例:
- 创建唯一索引
例:
- 创建单列索引
例:
- 创建多列索引
例:
- 创建全文索引
例:(之前的person已经被创建过索引,再重新创建一个跟person一样参数的d3表)
- 创建空间索引
例:
(出现问题,暂时没有找到解决方法)
三、使用ALTER TABLE语句在已经存在表上创建索引
格式:
- 创建普通索引
例:
- 创建唯一性索引
例:
- 创建单列索引
ALTER TABLE book ADD INDEX singleidx(name(20));
- 创建多列索引在表中的score和sex字段上建立一个名称为multidx的多列索引,基本格式:ALTER TABLE book ADD INDEX multidx(score(4),sex(4));执行结果如下:
![]()
5.创建全文索引删除表book,重新创建表book,在表中的name字段上创建全文索引,格式ALTER TABLE book ADD FULLTEXT INDEX fulltextidx(name);执行结果如下:![]()
6.创建空间索引创建表t8,在表中space字段上创建名称为spatidx的空间索引,基本格式ALTER TABLE t8ADD SPATIAL INDEX spatidx(space);执行结果如下:![]()
删除索引删除索引的方式有两种,具体如下:
1.使用ALTER TABLE 删除索引基本格式:ALTER TABLE 表名 DROP INDEX 字段名删除表book中名称为fulltextidx的全文索引,执行结果如下:
![]()
2.使用DROP INDEX 删除索引基本格式:DROP INDEX 索引名 ON 表名;执行结果如下:![]()

















浙公网安备 33010602011771号