需求需要模糊匹配查询一个单词select * from t_chinese_phrase where instr(phrase,’昌’) > 0;select * from t_chinese_phrase where phrase like ‘%昌%’explain一下看看执行计划 由 explain 的结果可知,虽然我们给phrase建了索引,但是 ......
262
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 ......
246
0
0
2023-06-22
目录前言索引介绍索引设计目标索引设计迭代迭代一迭代二迭代三迭代四迭代小结索引结构总结聚簇索引非聚簇索引联合索引索引优点和缺点优点缺点总结前言MySQL的索引是一个非常重要的知识点,也基本上是面试必考的一个技术点,所以非常重要。那你了解MySQL索引的数据结构是怎么样的吗?为什么要采用这样的数据结构?现在化身为MySQL的架构师,一步步迭代设计出MySQL的索 ......
278
0
0
2023-06-13
目录需求全文索引介绍全文索引使用中文分词与全文索引什么是N-gram?这个上面这个N是怎么去配置的?修改方式实际使用初始化测试数据添加索引查询1、使用自然语言模式 NATURAL LANGUAGE MODE 查询2、使用布尔模式(BOOLEAN MODE)查询实际使用注意点需求需要模糊匹配查询一个单词select * from t_phrase where ......
291
0
0
2023-06-10
目录引言死锁的日志分析日志复盘总结引言随着我被拉入一个新的群聊“生产环境死锁问题排查解决”,打破了午后的悠然惬意,点开群聊秒送了一个648超级大礼包(业务不正常,死锁异常日志输出),领导怒斥并要求赶紧排除解决并总结经验,刚好我略懂略懂一点MySQL锁知识,这不得秀一下自己的实力死锁的日志既然死锁已经发生,也完全不要慌啊,按我说着做,一定能找到原因然后解决触发 ......
305
0
0
2023-06-10
目录一丶什么是索引二丶索引的数据结构1.哈希表2.有序数组3.跳表4.平衡二叉搜索树5.B-树,B+树三丶InnoDB索引方案1.InnoDB行结构2.InnoDB页结构2.1行结构中记录头信息的作用2.2页目录3.InnoDB索引方案3.1为页建立目录项3.2 根据目录项定位数据行的过程三丶聚集索引和非聚集索引四丶回表查询五丶联合索引六丶索引与排序和分组1 ......
335
0
0
2023-06-03
目录引言1. 什么是索引2. 索引的数据结构2.1 B+Tree 和 B-Tree2.2 树高问题2.3 什么样的搜索可以用到索引?2.4 使用限制2.5 自适应哈希索引3. 小结引言之前松哥写过一个 MySQL 系列,但是当时是基于 MySQL5.7 的,最近有空在看 MySQL8 的文档,发现和 MySQL5.7 相比还是有不少变化,同时 MySQL 又 ......
252
0
0
2023-05-28
目录开篇一个简单的DEMO天下没有免费的午餐无索引使用 B 树索引引入反向索引在默认解析器中使用反向索引在 n-gram 解析器中使用反向索引InnoDB 反向索引性能下降备选方案开篇在我们的生产环境中,有一个模糊检索的文档框,但是当数据量级别上去之后,频繁对数据库造成压力,所以想使用Full Text全文索引进行优化 下面是一个总结的简单案例一个简单的DE ......
325
0
0
2023-05-26
目录1 数据准备1.1 新建数据表1.2 新增100万条数据2 基础知识2.1 explain type2.2 explain Extra3 索引失效场景3.1 查询类型错误3.1.1 失效场景3.1.2 解决方案3.2 索引列参与运算3.2.1 失效场景3.2.2 解决方案3.3 MySQL放弃使用索引3.3.1 失效场景3.3.2 解决方案一3.3.3 ......
299
0
0
2023-05-22
目录为什么要有索引?认识磁盘磁盘的结构磁盘的盘片结构定位扇区MySQL与磁盘交互索引的理解测试主键索引索引的原理索引结构是否可以使用其他数据结构聚簇索引 vs 非聚簇索引总结为什么要有索引?MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。打个比方,如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设 ......
330
0
0
2023-05-03
大家好我是北哥,今天整理了MySQL索引相关的知识点及面试常见问题及答案,分享给大家。 以下问题及答案没有特殊说明默认都是针对InnoDB存储引擎,如有不对的地方可以留言讨论哦~ 什么是索引?索引就是一种用于快速查找数据的数据结构,是帮助MySQL高效获取数据的排好序的数据结构。使用比较巧妙的数据结构,利用数据结构的特性来大大减少查找遍历次数优点:使用索引可 ......
343
0
0
2023-04-26
目录1.最左前缀原则2. 计算、函数使索引失效3. 类型转换导致索引失效4. 不等于(<>或!=)导致索引失效5. is not null /is null可能不走索引,也可以走索引6. 模糊匹配Like以%开头7. OR前后的条件列不是索引,导致索引失效哪些情况导致的索引失效,下面具体来了解一下1.最左前缀原则在MySQL数据库中,联合索引遵守 ......
307
0
0
2023-04-17
目录为什么要建立索引?哪些情况适合建立索引?那么哪些情况下适合建索引?哪些情况下不适合建索引?为什么索引是使用B+树?(重点)索引分为那几类?什么是聚簇索引?(重点)使用聚簇索引的优缺点?(知道)为什么推荐使用自增主键作为索引?(知道)什么叫回表?(重点)什么叫索引覆盖?(重点)什么是最左前缀原则?(重点)MySQL索引失效的几种情况(重点)常见的索引优化手 ......
310
0
0
2023-03-24
索引用于快速找出在某个列中有一特定值的行,如果不使用索引MySQL必须从第l条记录开始读完整个表,直到找出相关的行.表越大,查询数据所花费的时间越多,如果表中查询的列有一个索引,MySQL能快速到达某个位置去搜寻数据文件,而不必查看所有数据,可加快数据查询的查询速度提高效率,索引可在创建表时增加,也可动态调整已有表.♥ 文章声明 ♥ 该系列文章部分文字描述, ......
343
0
0
2023-02-14
目录一、导致sql执行慢的原因二、分析原因时,一定要找切入点三、什么是索引?四、Explain分析1.id2.select_type3.table4.type(★)5.possible_key6.key(★)7.key_len8.ref(★)9.rows(★)10.extra五、优化案例六、是否需要创建索引?  一、导致sql执行慢的原因 ......
371
0
0
2023-02-13