当前位置: 首页 > news >正文

四十一、【进阶】索引使用SQL提示

1、SQL提示使用情景

        在使用MySQL时,当一个字段参在于多个索引中时,默认情况下,MySQL会自动选择一个索引,但我们可以指定索引吗?可以忽略某一种索引吗?

        答案是可以的。

前提:profession字段已经存在于联合索引之中,且为联合索引的第一个字段。

2、实际操作

(1)MySQL自动选择索引方式

第一步:可以看到profession字段存在于联合索引之中;

第二步:给profession字段创建单列索引;

第三步:通过profession字段的索引进行查询,查看其所使用的,是哪一种索引;

在这一步,可以看到在对profession字段进行索引查询时,其可能用到的索引是联合索引和单列索引,但实际用到的索引是 联合索引。

(2)指定使用的索引类型

        在某些业务中,我们需要使用特定的索引类型,可以通过如下语句:

        但这种方式存在一个弊端,那就是“你只是建议MySQL使用该索引类型,并未强制其使用该索引类型,MySQL会衡量你的建议,如果你的建议比较有效,那么MySQL会听从你的命令,否则,MySQL会违背你的命令。”

explain select * from tb_user user index(索引名) where profession='软件工程';

(3) 让MySQL忽略某个索引类型

explain select * from tb_user ignore index(索引名) where profession='软件工程';

 (4)强制MySQL使用某个索引类型

        在前面,我们讨论过建议MySQL使用某个索引类型,这里我们将告诉你,如何强制MySQL使用某个索引类型。

explain select * from tb_user force index(索引名) where profession='软件工程';

http://www.lryc.cn/news/215333.html

相关文章:

  • AI智能分析网关高空抛物算法如何实时检测高楼外立面剥落?
  • 微信小程序 - 页面继承(非完美解决方案)
  • 智能配件管理系统有什么用?企业如何实现管理数字化转型?
  • @SuppressWarnings注解使用说明
  • 算法从入门到入土cpp版
  • 没有PDF密码,如何解密文件?
  • Sqlyog 无法连接 8 版本的mysql caching_sha2_password could not be loaded
  • 学习笔记三十三:准入控制
  • Unix/Linux C语言 获取控制台窗口尺寸
  • 界面控件DevExpress WinForms Gauge组件 - 实现更高级别数据可视化
  • vivo 自研蓝河操作系统 BlueOS 发布:支持大模型、BlueXlink 协议实现万物互联
  • opencv复习(很乱)
  • 于璠访谈录 | AI 框架应该和而不同?
  • 基于Springboot+MYSQL+Maven实现的宠物医院管理系统(源码+数据库+运行指导文档+项目运行指导视频)
  • 【数据结构二叉树】先序层序建立、递归非递归遍历层序遍历、树高、镜面、对称、子树、合并、目标路径、带权路径和等等
  • Mybatis延迟加载(缓存)
  • 我对美团的看法,作为美团的股东,我都有点懵
  • 【Java】文件操作和IO
  • uniapp页面间传参的方法
  • vsan 7.0.3部署后常见问题
  • 【Git】Git使用指南+上传项目踩坑总结
  • Django之登录注册
  • Android 10-11适配外部存储方案
  • 软件测试/测试开发丨Python:易学、强大、多用途的编程语言
  • 一、VPN基础
  • 淘宝协议最新版
  • AI“走深向实”,蚂蚁蚁盾在云栖大会发布实体产业「知识交互建模引擎」
  • 如何估计池塘里鱼的数目,周边有多少车辆?
  • docker中安装rabbitMq并配置启动
  • viewfs://为Hadoop 中的一个特殊文件系统