网站建设公司问答营销案例,网站开发技术最新技术,网站搭建工具,湖南株洲今天最新消息索引的分类
1. 唯一索引和普通索引 普通索引是MySQL中的基本索引类型#xff0c;允许在定义索引的列中插入重复值和空值。 唯一索引#xff0c;索引列的值必须唯一#xff0c;但允许有空值。如果是组合索引#xff0c;则列值的组合必须唯一。主键索引 是一种特殊的唯一索引…索引的分类
1. 唯一索引和普通索引 普通索引是MySQL中的基本索引类型允许在定义索引的列中插入重复值和空值。 唯一索引索引列的值必须唯一但允许有空值。如果是组合索引则列值的组合必须唯一。主键索引 是一种特殊的唯一索引不允许有空值。
2. 单列索引和组合索引 单列索引即一个索引只包含单个列一个表可以有多个单列索引。 组合索引指在表 的多个字段组合上创建的索引。只有在查询条件中使用了这些字段的左边字段时索引才会被使用。使 用组合索引时遵循最左前缀集合。
3. 全文索引 fulltext 全文索引类型为FULLTEXT在定义索引的列上支持值得全文查找允许在这些索引列 中插入重复值和空值。全文索引可以在CHAR、VARCHAR或者TEXT类型的列上创建。MySQL中只有 MyISAM存储引擎支持全文索引。
4. 空间索引 空间索引是对空间数据类型的字段建立的索引MySQL中的空间数据类型有4中分别是 geometry、point、linstring和polygon 。MySQL使用SPATIAL关键字进行扩展使得能够用于创建空间索 引的列必须将其声明为NOT NULL空间索引只能在存储引擎为MyISAM的表中创建。
创建普通索引
语法:create table 表名字段1 类型字段2 类型 index字段1字段2...; 查看表的索引
加\G为了我们更方便的查看。语法show create table 表名\G show index from 表名\G show indexes from 表名\G show keys from 表名\G
这里看到KEY后面就是我们添加的所以KEY后面的ID是这个索引的名字。
用explain 判断索引是否正在被使用 语法explain select * from 表名 where 字段条件\G 【唯一索引】
创建唯一索引 唯一索引主要原因是减少查询索引列操作的执行时间。尤其是对比比较庞大的数据 表。与普通索引类似不同点在于索引列的值必须唯一但允许有空值。如果是组合索引则列值的组合必 须唯一。
语法create table 表名字段1 类型字段1 类型..,unique index 起个名字指定类型;
【单列索引】
单列索引是在数据表中的某一字段上创建的索引一个表中可以创建多个单列索引
语法create table 表名字段1 类型字段1 类型..,index 起个名字指定类型; 【组合索引】
组合索引是在多个字段上创建一个索引。遵循最左前缀原则。最左前缀 索引最左边的列来匹配 行 创建
语法create table 表名字段1 类型字段1 类型..,index 起个名字指定字段1指定字段2;
【全文索引】
全文索引FULLTEXT
语法create table 表名字段1 类型字段1 类型....,fulltext 起个名字指定字段1指定字段2; 【空间索引】
空间索引且空间类型的字段必须为非空 在已经存在的表上创建索引
语法alter table 表名 add index 起个名字(指定字段); 添加唯一性索引
索引列的值必须唯一但允许有空值
语法alter table 表名 add unique index 起个名指定字段 添加单列索引
语法alter table 表名 add index 起个名 (指定字段); 添加全文索引
语法alter table 表名 add fulltext index 起个名(指定字段);
先创建个表 添加组合索引 语法alter table 表名 add index 起个名( 指定字段1指定字段2); 添加空间索引 语法alter table 表名 add SPATIAL index 起个名(指定字段); 【删除索引】
语法alter table 表名 drop index 索引名
不知道索引名的用这个查看: show create table 表名\G show index from 表名\G show indexes from 表名\G show keys from 表名\G 删除全文索引