索引的分类

本文详细介绍了数据库索引设置,包括主键索引的添加与删除、单值索引与唯一索引的区别、复合索引的创建与最左前缀原则,以及全文索引在模糊查询中的应用。还提供了查看现有索引的方法。
摘要由CSDN通过智能技术生成

主键索引:设定为主键后数据库会自动建立索引。
ALTER TABLE 表名 add PRIMARY KEY 表名(列名);
删除主键索引:ALTER TABLE 表名 drop PRIMARY KEY ;

单值索引:即一个索引只包含单个列,一个表可以有多个单列索引。
CREATE INDEX 索引名 ON 表名(列名);
删除索引:DROP INDEX 索引名;

唯一索引:索引列的值必须唯一,允许为 null
CREATE UNIQUE INDEX 索引名 ON 表名(列名);
删除索引:DROP INDEX 索引名 ON 表名;

组合索引(复合索引):即一个索引包含多个列,在数据库操作期间,复合索引比单值索引所需要的开销更小(对于相同的多个列建索引),当表的行数远大于索引列的数目时可以使用复合索引。创建复合索引。
CREATE INDEX 索引名 ON 表名(列 1,列 2...);
删除索引:DROP INDEX 索引名 ON 表名;
组合索引最左前缀原则
列如表中有 a,b,c 3 列,为 a,b 两列创建组合索引,那么在使用时需要满足最左
侧索引原则
在使用组合索引的列作为条件时,必须要出现最左侧列为条件,否则组合索引不生效。
列如:
select * from table where a=’’and b=’’索引生效
select * from table where b=’’and a=’’索引生效
select * from table where a=’’and c=’’索引生效
select * from table where b=’’and c=’’索引不生效

全文索引:
需要模糊查询时,一般索引无效,这时候就可以使用全文索引了。
CREATE FULLTEXT INDEX 索引名 ON 表名(字段名) WITH PARSER ngram;
SELECT 结果 FROM 表名 WHERE MATCH(列名) AGAINST(‘搜索词')

查看索引:SHOW INDEX FROM 表名;

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值