MYSQL FORCE INDEX() 强制索引

本文介绍了强制索引的概念及其使用方法,它允许指定查询时使用特定索引以提高效率。同时,文章探讨了不适合建立索引的情况,如频繁更新的字段、查询中未使用的字段、数据量小的表、数据分布均匀的字段等。另一方面,适合建索引的场景包括作为查询条件的字段、关联字段、用于排序和分组的字段以及统计计算的字段。了解何时创建和不创建索引对于数据库性能至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

强制索引,即指定本次查询使用某个特定的索引,这样就可避免MySQL优化器使用低效的索引。

使用方法:表明后面加上force index(索引名)

 SELECT * FROM `user` FORCE INDEX ( idx_create_time ) WHERE 1 = 1
哪些情况下不适合建索引
  1. 频繁更新的字段不适合建立索引
  2. where条件中用不到的字段不适合建立索引
  3. 表数据可以确定比较少的不需要建索引
  4. 数据重复且发布比较均匀的的字段不适合建索引(唯一性太差的字段不适合建立索引),例如性别,真假值
  5. 参与列计算的列不适合建索引
哪些情况下适合建索引
  1. 频繁作为where条件语句查询的字段
  2. 关联字段需要建立索引,例如外键字段,student表中的classid, classes表中的schoolid 等
  3. 排序字段可以建立索引
  4. 分组字段可以建立索引,因为分组的前提是排序
  5. 统计字段可以建立索引,例如count(),max()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值