目录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 ......
333
0
0
2023-05-22
目录为什么要有索引?认识磁盘磁盘的结构磁盘的盘片结构定位扇区MySQL与磁盘交互索引的理解测试主键索引索引的原理索引结构是否可以使用其他数据结构聚簇索引 vs 非聚簇索引总结为什么要有索引?MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。打个比方,如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设 ......
371
0
0
2023-05-03
大家好我是北哥,今天整理了MySQL索引相关的知识点及面试常见问题及答案,分享给大家。 以下问题及答案没有特殊说明默认都是针对InnoDB存储引擎,如有不对的地方可以留言讨论哦~ 什么是索引?索引就是一种用于快速查找数据的数据结构,是帮助MySQL高效获取数据的排好序的数据结构。使用比较巧妙的数据结构,利用数据结构的特性来大大减少查找遍历次数优点:使用索引可 ......
376
0
0
2023-04-26
目录1.最左前缀原则2. 计算、函数使索引失效3. 类型转换导致索引失效4. 不等于(<>或!=)导致索引失效5. is not null /is null可能不走索引,也可以走索引6. 模糊匹配Like以%开头7. OR前后的条件列不是索引,导致索引失效哪些情况导致的索引失效,下面具体来了解一下1.最左前缀原则在MySQL数据库中,联合索引遵守 ......
346
0
0
2023-04-17
目录为什么要建立索引?哪些情况适合建立索引?那么哪些情况下适合建索引?哪些情况下不适合建索引?为什么索引是使用B+树?(重点)索引分为那几类?什么是聚簇索引?(重点)使用聚簇索引的优缺点?(知道)为什么推荐使用自增主键作为索引?(知道)什么叫回表?(重点)什么叫索引覆盖?(重点)什么是最左前缀原则?(重点)MySQL索引失效的几种情况(重点)常见的索引优化手 ......
350
0
0
2023-03-24
索引用于快速找出在某个列中有一特定值的行,如果不使用索引MySQL必须从第l条记录开始读完整个表,直到找出相关的行.表越大,查询数据所花费的时间越多,如果表中查询的列有一个索引,MySQL能快速到达某个位置去搜寻数据文件,而不必查看所有数据,可加快数据查询的查询速度提高效率,索引可在创建表时增加,也可动态调整已有表.♥ 文章声明 ♥ 该系列文章部分文字描述, ......
377
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执行慢的原因 ......
406
0
0
2023-02-13
MySQL索引概念索引是数据库管理系统中一个经过排序的数据结构目的提高查询效率索引类型1、普通索引:经过设计的数据结构; 2、唯一索引:唯一约束; 3、主键索引(唯一索引的一种):唯一约束+非空约束; 4、全文索引:创建的时候要制定索引长度。索引储存模型推演二分法查找有序数组链表二叉查找树(BST)能快速查出和插入缺陷:插入有序数组,会变成斜树,树的深度相差 ......
337
0
0
2023-01-20
MYSQL数据库-索引零、前言一、索引概念二、认识磁盘三、理解索引1、如何理解Page2、B+ vs B3、聚簇索引 VS 非聚簇索引4、普通索引5、总结四、索引操作1、创建索引2、查询索引3、删除索引零、前言本章主要讲解MYSQL数据库中的索引这一重要知识点一、索引概念索引的价值:提高数据库的性能,索引是物美价廉的东西了:不用加内存,不用改程序,不用调sq ......
462
0
0
2023-01-13
建立联合索引a,b,可以看到a的值是有序的,b是无序由于a的值是有序的,可以能通过二分查找去查询数据#用到索引 EXPLAIN SELECT * where a=1 and b=1 from test 由于b的值是无序的,可以不能通过二分查找去查询数据#用不到索引 EXPLAIN SELECT * where b=1 from test 所以为什么 ......
378
0
0
2022-12-23
文章内容引用自 咕泡科技目录标题1索引的概念1.1定义1.2类型1.3作用2索引的数据结构B+树的演进过程2.1问题:假如我们要查一条数据要怎么查?怎么才能快速查到数据?2.2问题:当Page页越来越多,查询会出现什么问题、怎么解决怎么优化?2.3问题:怎么建目录呢?给每一个页都建一个目录吗?2.4索引树、页的分裂与合并2.5根据我们刚才推演的,延申出几个面 ......
371
0
0
2022-12-22
回表在研究mysql二级索引的时候,发现Mysql回表这个操作,往下研究了一下字面意思,找到索引,回到表中找数据 解释一下就是:先通过索引扫描出数据所在的行,再通过行主键ID 取出数据。举个例子说明:SELECT * FROM INNODB_USER WHERE AGE = 18 AND USER_NAME LIKE '模糊查%'; 假如age和user ......
370
0
0
2022-12-22
本篇内容包括:MySQL 索引的概述 、索引的数据结构、索引的分类、索引的失效以及索引的设计原则一、MySQL 索引的概述1、什么是索引在关系数据库中,索引是一种数据结构,为存储引擎提高访问速度的数据结构,它一般是以包含索引键值和一个指向索引键值对应数据记录物理地址的指针的节点的集合的清单的形式存在。索引的作用:数据是存储在磁盘上的,查询数据时,如果没有索引 ......
361
0
0
2022-12-19
索引的分类索引该如何添加索引虽然是个可以提高查询效率的好东西,但是吗世间万物自然有好有坏,索引有索引的好处,自然就会有其不完美的地方,建立索引之后,MySQL除了维护数据文件之外自然又多了一份维护索引文件的任务,如果数据频繁的变动,维护两份索引文件的MySQL自然是有些招架不住。反馈的效率自然就会慢于没有索引的时候,索引文件自然是要有它落盘的地方,所以就要占 ......
352
0
0
2022-12-17
日复一日年复一年,伴随着我们系统稳定运行的一定还有日益增长的数据量,当然本次我们只来讨论我们的关系型数据库——MySQL中的数据量,如果我们的MySQL从上线之后没有进行过任何优化,数据量上去了之后,SQL的查询时间必然会越来越久,久而久之的自然会奔溃而拖垮整个系统,所以既然数据量上去了,我们程序员的本事也要跟着涨一涨了,涨知识之前先来回忆一下我们日常工作中 ......
397
0
0
2022-12-17