MySql中什么是索引?常用的索引有哪些种类?索引在什么情况下会失效?

一、什么是索引

在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。

索引(index):好比书的目录,用于加快查找的效率;

索引的作用:加快查找效率.减慢插入和删除,修改效率.(需要同步调整索引结果)
 

二、常见的索引类型

1.主键索引
        主键是一种唯一性索引,必须指定为PRIMARY KEY(即主键)

        alter table 表名 add primary key (`字段名`);

2.唯一索引
        索引列的所有值都只能出现一次(即必须唯一),值可以为null

         alter table 表名 add primary key (`字段名`);

3.普通索引 
        基本的索引类型,值可以为null,没有唯一性约束

         alter table 表名 add index (`字段名`);

4.全文索引
          全文索引的索引为FULLTEXT类型。全文索引可以在varchar、char、text类型的列上创建。可以通过ALTER TABLE或CREATE INDEX创建

         alter table 表名 add FULLTEXT(`字段名`);
 

三、索引在什么情况下失效

1.like查询使用不当会导致索引失效
        通配符%在开头位置,这时候就会导致索引失效
        select * from 表名 where 字段名 like ‘%__’;

2. 最佳左前缀法则
         如果一张表中有多个索引,要遵守最佳左前缀法则,即查询从索引的最左前列开始并且不跳过索引中的列。

3.查询条件两边数据类型不一致

       

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值