MySQL索引概念索引是数据库管理系统中一个经过排序的数据结构目的提高查询效率索引类型1、普通索引:经过设计的数据结构; 2、唯一索引:唯一约束; 3、主键索引(唯一索引的一种):唯一约束+非空约束; 4、全文索引:创建的时候要制定索引长度。索引储存模型推演二分法查找有序数组链表二叉查找树(BST)能快速查出和插入缺陷:插入有序数组,会变成斜树,树的深度相差 ......
308
0
0
2023-01-20
MYSQL数据库-索引零、前言一、索引概念二、认识磁盘三、理解索引1、如何理解Page2、B+ vs B3、聚簇索引 VS 非聚簇索引4、普通索引5、总结四、索引操作1、创建索引2、查询索引3、删除索引零、前言本章主要讲解MYSQL数据库中的索引这一重要知识点一、索引概念索引的价值:提高数据库的性能,索引是物美价廉的东西了:不用加内存,不用改程序,不用调sq ......
424
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 所以为什么 ......
343
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根据我们刚才推演的,延申出几个面 ......
338
0
0
2022-12-22
回表在研究mysql二级索引的时候,发现Mysql回表这个操作,往下研究了一下字面意思,找到索引,回到表中找数据 解释一下就是:先通过索引扫描出数据所在的行,再通过行主键ID 取出数据。举个例子说明:SELECT * FROM INNODB_USER WHERE AGE = 18 AND USER_NAME LIKE '模糊查%'; 假如age和user ......
336
0
0
2022-12-22
本篇内容包括:MySQL 索引的概述 、索引的数据结构、索引的分类、索引的失效以及索引的设计原则一、MySQL 索引的概述1、什么是索引在关系数据库中,索引是一种数据结构,为存储引擎提高访问速度的数据结构,它一般是以包含索引键值和一个指向索引键值对应数据记录物理地址的指针的节点的集合的清单的形式存在。索引的作用:数据是存储在磁盘上的,查询数据时,如果没有索引 ......
334
0
0
2022-12-19
索引的分类索引该如何添加索引虽然是个可以提高查询效率的好东西,但是吗世间万物自然有好有坏,索引有索引的好处,自然就会有其不完美的地方,建立索引之后,MySQL除了维护数据文件之外自然又多了一份维护索引文件的任务,如果数据频繁的变动,维护两份索引文件的MySQL自然是有些招架不住。反馈的效率自然就会慢于没有索引的时候,索引文件自然是要有它落盘的地方,所以就要占 ......
324
0
0
2022-12-17
日复一日年复一年,伴随着我们系统稳定运行的一定还有日益增长的数据量,当然本次我们只来讨论我们的关系型数据库——MySQL中的数据量,如果我们的MySQL从上线之后没有进行过任何优化,数据量上去了之后,SQL的查询时间必然会越来越久,久而久之的自然会奔溃而拖垮整个系统,所以既然数据量上去了,我们程序员的本事也要跟着涨一涨了,涨知识之前先来回忆一下我们日常工作中 ......
358
0
0
2022-12-17
索引 我们对索引这个名词最早的认知应该来自初学任何一门程序设计语言时 的数组吧,数组的下标即是索引,索引有什么用?我们的计算机没有想 像的那么聪明,cpu在查找数据是你如果不指定方式他只会从头到尾依次 遍历,有了索引之后我们就可以对Cpu进行优雅的指挥啦。快速定位,提 升效率!MySQL中的索引 MySQL的定位为数据库,数据库的存在当然是为了存储数据, ......
296
0
0
2022-12-17
作者:小林coding图解网站:https://xiaolincoding.com/大家好,我是小林。面试中,MySQL 索引相关的问题基本都是一系列问题,都是先从索引的基本原理,再到索引的使用场景,比如:索引底层使用了什么数据结构和算法?为什么 MySQL InnoDB 选择 B+tree 作为索引的数据结构?什么时候适用索引?什么时候不需要创建索引?什么 ......
305
0
0
2022-12-12
概述什么是索引一本书 500 页的书,如果没有目录,直接去找某个知识点,可能需要找一会儿,但是借助前面的目录,就可以快速找到对应知识点在书的哪一页。这里的目录就是索引。所以,为什么会有索引?为了提高数据查询效率。常见索引算法最简单也最容易想到的索引算法就是有序数组了,我们创建一个数组,数组按照顺序排列,我们要查找某一条记录,使用二分法就可以快速得到(log ......
373
0
0
2022-12-10
前 言🍉 作者简介:半旧518,长跑型选手,立志坚持写10年博客,专注于java后端1、索引的声明与使用1.1. 索引的分类先介绍下索引的分类,方便后续介绍索引的创建与设计。按照功能逻辑划分,索引主要有:普通索引、唯一索引、主键索引、全文索引、空间索引(并非所有数据库都有空间索引)按照物理实现划分,索引主要有:聚簇索引、非聚簇索引。按照作用字段个数划分,索引 ......
293
0
0
2022-12-06
前言前面我们已经剖析了mysql中InnoDB与MyISAM索引的数据结构,了解了B+树的设计思想、原理,并且介绍了B+树与Hash结构、平衡二叉树、AVL树、B树等的区别和实际应用场景。页和页之间并不一定在物理上相连,只是在逻辑上使用双向链表关联。指针、记录究竟是如何存储的呢?其实这就需要联系我们之前提到的行格式了。数据查找在页目录中二分法快速定位到槽,上 ......
320
0
0
2022-12-06
深度讲解索引的数据结构:B+树1.索引介绍1.1 为什么使用索引1.2 索引的优缺点2.从零开始设计索引2.1没有索引时怎么查询数据2.2 基于页的目录项的简单索引2.3 InnoDB索引设计方案2.3.1 迭代1:目录项的数据页(目录页)2.3.2 迭代2:多个目录页2.3.3 迭代3:目录页的目录页3.索引类型3.1.聚簇索引3.2 二级索引3.3 联合 ......
305
0
0
2022-12-06