四十一、【进阶】索引使用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.hqwc.cn/news/157649.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Security ❀ DNS协议常见DOS攻击详解

文章目录 1. DNS协议基础概述2. DNS报文详解2.1. DNS Request 请求包2.2. DNS Reply 响应包 3. DNS Request Flood3.1. 攻击原理3.2. 防护方法3.2.1. TC源认证3.2.2. 被动防御3.2.3. CNAME防护模式3.2.4. *CANME类型解析过程 4. DNS Reply Flood4.1. 攻击原理4.2. 防护方法 5. …

Vue 自动登录示例

router.beforeEach((to, from, next) > {if (to.meta.title) {document.title "xxxxx" to.meta.title;}let token window.sessionStorage.getItem(userInfo);// 如果没有token 并且没有任何响应 就要去action中自动登录if (!token) {const loginForm {usernam…

Mac电脑怎么运行 Office 办公软件

虽然 Office 软件也有 Mac 版本的,但是有蛮多小伙伴用起来还是感觉不得劲,毕竟接触了太久的 Windows,所以想要使用 Windows 版本的 Office 软件。 今天就给大家介绍一下怎么在 Mac 电脑中运行 Windows 版本的办公软件,在这里就需…

“泰山众筹:引爆全球的财富狂潮!“

想象一下,你手中的白酒不再只是简单的饮品,而是一份珍贵的投资,一份充满惊喜的冒险,一份财富的种子!在这个神奇的时刻,让我们一起探索泰山众筹模式的魅力! 在传统的投资领域,你是否…

历年网规上午真题(2017年)

解析:D/C 计算机主要性能指标:时钟频率(主频)、运算速度、运算精度、内存大小、数据处理速率(PDR)等 数据库主要指标:最大并发、负载均衡能力、最大连接数等 解析:A 敏捷开发是一种应对快速变化的需求的一种软件开发方法,是一种以人为核心、迭代、循序渐进的开发方…

Linux shell编程学习笔记19:until循环语句

Linux shell编程中的until语句,在功能上与其它编程语言一致,但在结构与其它编程语言又不太一样。在大多数编程语言中,until语句的循环条件表达式一般位于循环体语句的后面,但是在Linux shell编程中,until语句的循环条件…

大厂面试题-Netty中Reactor模式的理解

Reactor其实是在NIO多路复用的基础上提出的一个高性能IO设计模式。 它的核心思想是把响应IO事件和业务处理进行分离,通过一个或者多个线程来处理IO事件。 然后把就绪的事件分发给业务线程进行异步处理。 Reactor模型有三个重要的组件: Reactor&#…

HTTP/HTTPS、SSL/TLS、WS/WSS 都是什么?

有同学问我,HTTP/HTTPS、SSL/TLS、WS/WSS 这都是些什么?那我们就先从概念说起: HTTP 是超文本传输协议,信息是通过明文传输。HTTPS 是在 HTTP 的基础上信息通过加密后再传输。SSL 是实现 HTTPS 信息传输加密的算法。TLS 是 SSL 的…

UDP网络编程的接受与发送信息

/发送端B>可以接受数据 public class UDPSenderB {public static void main(String[] args) throws IOException {//创建一个DatagramSocket 对象,准备发送和接受数据DatagramSocket socket new DatagramSocket(9998);//将需要发送的数据,封装到Data…

数字化时代,谈谈数据资产这件事

在全球数字化转型的大趋势下,数据交易市场有望推动数据要素价值的开放共享和流通。据信通院测算,2021年全球47个重要经济体的数字经济增加值规模高达 38.1 万亿美元,我国2021年数字经济规模也已达到7.1万亿美元。数据之于数字经济的价值不言而…

双十一最畅销的商品、值得入手的数码好物推荐

今年双十一大家都入手了哪些好物呢?不得不说今年的年中大促还是非常贴心的,不仅活动期延长了,开启预热的时间同样提前不少,这无疑给我们消费者留了充足的时间更好地挑选自己心仪的产品。作为一名数码爱好者,双十一当然…