前言MySQL索引是提升数据库查询性能的关键因素,但在某些情况下,索引可能会失效,导致查询变慢或无法使用索引。本文将介绍多个常见的MySQL索引失效场景,并提供相应的优化策略,帮助你避免索引失效,提升数据库的查询效率。大纲场景一:模糊查询使用通配符开头当使用模糊查询时,如果通配符(例如%,_)出现在查询字符串的开头,索引将无法生效。这是因为MySQL索引是从 ......
46
0
0
2024-01-18
作者:小傅哥 博客:https://bugstack.cn❝沉淀、分享、成长,让自己和他人都能有所收获!😜 ❞本文的宗旨在于通过简单干净实践的方式教会读者,如何更好地使用 MySQL 数据库。这包括;库表创建规范、字段的创建规范、索引的创建规范以及SQL使用的相关规范,通过这些内容的讲解,让读者更好使用 MySQL 数据库,创建出符合规范的表和字段以及建出合 ......
60
0
0
2024-01-15
1. 索引的声明与使用1.1 索引的分类MySQL的索引包括普通索引、唯一性索引、全文索引、单列索引、多列索引和空间索等。从 功能逻辑 上说,索引主要有 4 种,分别是普通索引、唯一索引、主键索引、全文索引。按照 物理实现方式 ,索引可以分为 2 种:聚簇索引和非聚簇索引。按照 作用字段个数进行划分,分成单列索引和联合索引。1.1.1 普通索引在创建普通索引 ......
80
0
0
2023-11-05
目录一、关系型数据库设计规则二、数据完整性和约束与索引的概念三、约束的应用一、关系型数据库设计规则遵循ER模型和三范式E entity 代表实体的意思 对应到数据库当中的一张表R relationship 代表关系的意思三范式:1、列不能拆分2、唯一标识3、关系引用主键具体体现将数据放到表中,表再放到库中。一个数据库中可以有多个表,每个表都有一个名字,用来标 ......
169
0
0
2023-09-16
目录索引是什么?索引的结构?索引存在哪儿?索引的优缺点?索引的分类 索引使用explain执行计划索引使用规范(索引失效分析)例子总结:索引是什么?索引是帮助MySQL进行高效查询的一种数据结构。好比一本书的目录,能加快查询的速度索引的结构?索引可以有B-Tree索引,Hash索引。索引是在存储引擎中实现的InnoDB / MyISAM 仅支持 B ......
138
0
0
2023-09-11
目录Mysql索引索引介绍索引是什么索引的优势和劣势索引类型主键索引普通索引唯一索引全文索引空间索引前缀索引其他(按照索引列数量分类)索引的数据结构Hash表二叉查找树平衡二叉树B树:改造二叉树B+树:改造B树Mysql的索引实现MyIsam索引InnoDB索引总结避免回表联合索引的使用Mysql索引索引介绍索引是什么官方介绍索引是帮助MySQL高效获取数据 ......
98
0
0
2023-09-10
前言;使用MySQL时候不要停留在对数据的CRUD的操作,如果大家想去大厂工作,我们需要对MySQL有哦充分的了解和认知,可后台私信:资料:一起学习领取 思维导图 详细学习教程 MySQL体系结构 由图,可以看出MySQL最上层是连接组件。下面服务器是由连接池、管理工具和服务、SQL接口、解析器、优化器、缓存、存储引擎、文件系统组成。连接池 :由于每次建立建 ......
120
0
0
2023-08-09
目录创建表MySQL执行优化器第一种情况:针对联合索引,是否遵循最左匹配原则;第二种情况:去掉大哥,看看索引是否命中;第三种情况:在索引列上做了函数操作,会导致索引失效而导致全表扫描第四种情况:模糊查询前缀是以%开头的,索引失效第五种情况:模糊查询中后缀是以%,可以命中索引第六种情况:使用is not null 会导致索引失效第六种情况:使用and时,其中有 ......
139
0
0
2023-07-22
前言只有Innodb和myisam存储引擎能用全文索引(innodb支持全文索引是从mysql5.6开始的)char、varchar、text类型字段能创建全文索引(fulltext index type)全文索引的基于关键词的,如何区分不同的关键词了,就要用到分词(stopword)英文单词用空格,逗号进行分词;中文分词不方便(一个句子不知道怎样区分不同的 ......
113
0
0
2023-07-19
目录阐述一、最左匹配原则的原理二、违背最左原则导致索引失效的情况三、查询优化器偷偷干了哪些事儿四、知识点阐述通常我们在建立联合索引的时候,相信建立过索引的同学们会发现,无论是Oracle 还是 MySQL 都会让我们选择索引的顺序,比如我们想在 a,b,c 三个字段上建立一个联合索引,我们可以选择自己想要的优先级,(a、b、c),或是 (b、a、c) 或者是 ......
134
0
0
2023-07-06
需求需要模糊匹配查询一个单词select * from t_chinese_phrase where instr(phrase,’昌’) > 0;select * from t_chinese_phrase where phrase like ‘%昌%’explain一下看看执行计划 由 explain 的结果可知,虽然我们给phrase建了索引,但是 ......
132
0
0
2023-06-28
1、MySQL中的 索引 在MySQL,索引是由 B+树 实现的,B+是一种与 B树 十分类似的数据结构。 形如下面这种: 其结构特点 : (1)有n课子树的结点中含有n个关键码。 (2)非根节点子节点数: ceil(m/2)<= k <= m (ceil是天花板函数的意思,也就是向上取整,比如 ceil(1.2)=2 ......
129
0
0
2023-06-22
目录前言索引介绍索引设计目标索引设计迭代迭代一迭代二迭代三迭代四迭代小结索引结构总结聚簇索引非聚簇索引联合索引索引优点和缺点优点缺点总结前言MySQL的索引是一个非常重要的知识点,也基本上是面试必考的一个技术点,所以非常重要。那你了解MySQL索引的数据结构是怎么样的吗?为什么要采用这样的数据结构?现在化身为MySQL的架构师,一步步迭代设计出MySQL的索 ......
139
0
0
2023-06-13
目录需求全文索引介绍全文索引使用中文分词与全文索引什么是N-gram?这个上面这个N是怎么去配置的?修改方式实际使用初始化测试数据添加索引查询1、使用自然语言模式 NATURAL LANGUAGE MODE 查询2、使用布尔模式(BOOLEAN MODE)查询实际使用注意点需求需要模糊匹配查询一个单词select * from t_phrase where ......
143
0
0
2023-06-10
目录引言死锁的日志分析日志复盘总结引言随着我被拉入一个新的群聊“生产环境死锁问题排查解决”,打破了午后的悠然惬意,点开群聊秒送了一个648超级大礼包(业务不正常,死锁异常日志输出),领导怒斥并要求赶紧排除解决并总结经验,刚好我略懂略懂一点MySQL锁知识,这不得秀一下自己的实力死锁的日志既然死锁已经发生,也完全不要慌啊,按我说着做,一定能找到原因然后解决触发 ......
148
0
0
2023-06-10