mysql模糊查询索引失效问题及解决方案_种菜家的小学生的博客-程序员宝宝_模糊查询索引失效

技术标签: mysql  

mysql模糊查询索引失效问题及解决方案

我们在使用like %通配符时常常会引起索引失效的问题。
这里,我们讨论一下like使用%的几种情况:
下列例子用到的索引(VC_STUDENT_NAME)
一、like ‘xx%’

EXPLAIN select * from t_student where VC_STUDENT_NAME like ‘王%’
在这里插入图片描述我们发现使用%不放在开头的时候,索引是有效的

二、like ‘%xx’

EXPLAIN select * from t_student where VC_STUDENT_NAME like ‘%王’
在这里插入图片描述我们发现%放在开头时,索引便失效了。

上述两个例子说明,在使用通配符时,%放在开头会引起索引失效。
但在现实问题里,往往需要把%放在开头作模糊匹配。这是我们可以通过覆盖索引的方式即索引覆盖查询,来解决索引失效的问题。

EXPLAIN select * from t_student where VC_STUDENT_NAME like ‘%王’
在这里插入图片描述把查询列换成索引与之相应的列,索引失效问题得以解决。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/java1473727528/article/details/107050259

智能推荐

Elastic认证特训营 难点解读02——如何提高某个字段的评分?_铭毅天下的博客-程序员宝宝

1、进一步思考,提升权重的几种方式?第一:boost字段提升权重; 第二:function_score 结合weight、field_value_factor、script_score提升字段权重;第三:boosting 查询 提升权重; 第四:funciton_score+script 脚本提升权重。2、实战举例(类考试真题)某索引index_a有多个字段, 要求实现如下的查询:1)针对字段title,满足'ssas'或者'sasa'。2)针对字段tags(数组字段),如果b字

Redis 数据结构与对象_Tattoo_Welkin的博客-程序员宝宝

文章目录前提:跳表跳表是不是很浪费内存??索引的动态更新列表(list)(1): 压缩列表(数据量小)(2): 链表(数据量大)字典(hash)(1)压缩列表(数据量小)(2)散列表(数据量大)集合(set)(1) 有序数组(就是排好序的数组)(2) 散列表前提:跳表先给出大体结构图:时间复杂度:O(log(n))如何分析:(n) ->(n/2)->(n/4)->(n/8)-…(n/2...

PCM开发板模块实验指导--UDP服务器串口透传实验_chengsu317的博客-程序员宝宝_netorch网络调试工具

40---UDP服务器串口透传实验:硬件需求:PC机,手机,PCM模块一个,microUSB线,5V电源;软件需求:PCM编译软件,电脑端串口调试助手,app软件NeTorch TCP & UDP;供电方式:5V电源供电;连接电路:无本实验介绍模块作为UDP服务器如何与UDP客户端进行通讯。...

Gym 101028C A or B Equals C_OneLine_的博客-程序员宝宝

原题地址:http://codeforces.com/gym/101028/problem/CRami went back from school and he had an easy homework about bitwise operations (and,or,..) The homework was like this : You have an equation : " A | B =...

CXF 基础教程-------入门示例_e421083458的博客-程序员宝宝

CXF 入门示例又一HelloWorld示例,老套的HelloWorld是入门经典。也是基础和必须掌握的,下面看看HelloWorldWebService,很简单。需要的jar包如下: 1、 HelloWorldService服务器端代码 package com.hoo.service;import javax.jws.WebParam;import

递归与递推——B-王小二切饼,D-汉诺塔系列1,I-蟠桃记,H-巴蜀之危,G-fighting小银考四级_Jinze_L的博客-程序员宝宝

B-王小二切饼,D-汉诺塔系列1,I-蟠桃记,H-巴蜀之危这几个题目知识点都是递推,需要用数学方法来推出其规律,例如D-汉诺塔系列1用到了幂函数,H-巴蜀之危用到了排列组合知识——排错公式,只要找出其中的递推公式,用程序就很容易实现了,程序本身并不难:   B-王小二切饼:#includeusing namespace std;int main(){int i,n,m=

随便推点

力扣刷题笔记——— 两数之和(简单)和整数反转(上)_傻根根呀的博客-程序员宝宝

力扣第一周第一题:两数之和:第一题自己第一次敲出的代码:及其错误原因分析,引以为鉴/* * #1 两数之和 */package leetcode.daily;public class Daily0{ class Solution { public int[] twoSum(int[] nums, int target) { for(int i=0;i<nums.length;i++) { if

Linux环境下段错误的产生原因及调试方法小结_yuzeze的博客-程序员宝宝

http://www.cnblogs.com/panfeng412/archive/2011/11/06/2237857.html最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且项目工程庞大复杂,出现了不少问题,其中遇到最多、花费时间最长的问题就是著名的“段错误”(Segmentation Fault)。借此机会系统学习了一下,这里对Linux环境下的

NSDate_hnjyzqq的博客-程序员宝宝

NSLocale *zhCN = [NSLocalecurrentLocale];        NSDate  *aDate = [NSDatedate];        NSString *dateDes =[aDate descriptionWithLocale:zhCN];        NSLog(@"%@",dateDes);

震惊,Python破解BiliBili滑块验证码,完美避开人机识别_Mingyueyixi的博客-程序员宝宝

Python 破解BiliBili滑块验证码| 完美是不可能的,加个震惊!Python破解BiliBili滑块验证码,完美避开人机识别,可以有准备工作B站登录页 https://passport.bilibili.com/loginpython3pip install selenium (webdriver框架)pip install PIL (图片处理)B站的滑块验证码如...

HDU-2084 数塔(简单DP)_骑马看骆驼a的博客-程序员宝宝

Problem Description在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的:有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少?已经告诉你了,这是个DP的题目,你能AC吗?Input输入数据首先包括一个整数C,表示测试实例的个数,每个测试实例的第一行是一个整数N(1 <= N <= 100)...

react 警告Warning: Cannot update during an existing state transition (such as within `render`)_yunchong_zhao的博客-程序员宝宝

就是说 在render阶段 你触发了setState 方法我查找的原因 就是 我在方法绑定那块 写错了 导致了这个警告的发生举个例子吧本来是 想写方法呢 多谢了一个括号 那么就会在render阶段触发了 就发出警告了<Button onClick={this.handleClick()}>点击<Button>handleClick = () => { this.setState({name: 'zyc})}关注我 持续更新前端 知识...