在 MySQL 中,索引是一种帮助存储引擎快速获取数据的数据结构,形象的说就是索引是数据的目录。它一般是以包含索引键值和一个指向索引键值对应数据记录物理地址的指针的节点的集合的清单的形式存在。通过使用索引, MySQL 可以在不需要扫描整个表的情况下快速找到与查询条件匹配的记录。1、MySQL 索引的介绍1.1、索引目的索引的目的在于提高查询效率,可以类比字 ......
66
0
0
2024-06-19
1.简介联合索引指建立在多个列上的索引。MySQL 可以创建联合索引(即多列上的索引)。一个索引最多可以包含 16 列。联合索引可以测试包含索引中所有列的查询,或仅测试第一列、前两列、前三列等等的查询。如果在索引定义中以正确的顺序指定列,则复合索引可以加快对同一表的多种查询的速度。下面是一个联合索引的例子。CREATE TABLE test ( id ......
185
0
0
2024-05-16
作者:付祥,现居珠海,主要负责 Oracle、MySQL、mongoDB 和 Redis 维护工作。爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。本文约 1700 字,预计阅读需要 6 分钟。MySQL 版本 5.7.341故障现象某业务监控报警内存不足,发现 mysqld 进程由于内存不足被 kill 自动重启了。[root@ ......
298
0
0
2024-04-08
👆 这是第 412 篇不掺水的原创,想要了解更多,请戳下方卡片关注我们吧~数据结构以及算法索引的本质其实就是一种数据结构。我们都希望查询数据的速度能尽可能的快,因此数据库系统的设计者会从查询算法的角度进行优化。最基本的查询算法当然是顺序查找,这种复杂度为 O(n) 的算法在数据量很大时显然是糟糕的,好在计算机科学的发展提供了很多更优秀的查找算法,例如二分查找 ......
114
0
0
2024-03-13
前言MySQL索引是提升数据库查询性能的关键因素,但在某些情况下,索引可能会失效,导致查询变慢或无法使用索引。本文将介绍多个常见的MySQL索引失效场景,并提供相应的优化策略,帮助你避免索引失效,提升数据库的查询效率。大纲场景一:模糊查询使用通配符开头当使用模糊查询时,如果通配符(例如%,_)出现在查询字符串的开头,索引将无法生效。这是因为MySQL索引是从 ......
137
0
0
2024-01-18
作者:小傅哥 博客:https://bugstack.cn❝沉淀、分享、成长,让自己和他人都能有所收获!😜 ❞本文的宗旨在于通过简单干净实践的方式教会读者,如何更好地使用 MySQL 数据库。这包括;库表创建规范、字段的创建规范、索引的创建规范以及SQL使用的相关规范,通过这些内容的讲解,让读者更好使用 MySQL 数据库,创建出符合规范的表和字段以及建出合 ......
163
0
0
2024-01-15
1. 索引的声明与使用1.1 索引的分类MySQL的索引包括普通索引、唯一性索引、全文索引、单列索引、多列索引和空间索等。从 功能逻辑 上说,索引主要有 4 种,分别是普通索引、唯一索引、主键索引、全文索引。按照 物理实现方式 ,索引可以分为 2 种:聚簇索引和非聚簇索引。按照 作用字段个数进行划分,分成单列索引和联合索引。1.1.1 普通索引在创建普通索引 ......
200
0
0
2023-11-05
目录一、关系型数据库设计规则二、数据完整性和约束与索引的概念三、约束的应用一、关系型数据库设计规则遵循ER模型和三范式E entity 代表实体的意思 对应到数据库当中的一张表R relationship 代表关系的意思三范式:1、列不能拆分2、唯一标识3、关系引用主键具体体现将数据放到表中,表再放到库中。一个数据库中可以有多个表,每个表都有一个名字,用来标 ......
260
0
0
2023-09-16
目录索引是什么?索引的结构?索引存在哪儿?索引的优缺点?索引的分类 索引使用explain执行计划索引使用规范(索引失效分析)例子总结:索引是什么?索引是帮助MySQL进行高效查询的一种数据结构。好比一本书的目录,能加快查询的速度索引的结构?索引可以有B-Tree索引,Hash索引。索引是在存储引擎中实现的InnoDB / MyISAM 仅支持 B ......
233
0
0
2023-09-11
目录Mysql索引索引介绍索引是什么索引的优势和劣势索引类型主键索引普通索引唯一索引全文索引空间索引前缀索引其他(按照索引列数量分类)索引的数据结构Hash表二叉查找树平衡二叉树B树:改造二叉树B+树:改造B树Mysql的索引实现MyIsam索引InnoDB索引总结避免回表联合索引的使用Mysql索引索引介绍索引是什么官方介绍索引是帮助MySQL高效获取数据 ......
179
0
0
2023-09-10
前言;使用MySQL时候不要停留在对数据的CRUD的操作,如果大家想去大厂工作,我们需要对MySQL有哦充分的了解和认知,可后台私信:资料:一起学习领取 思维导图 详细学习教程 MySQL体系结构 由图,可以看出MySQL最上层是连接组件。下面服务器是由连接池、管理工具和服务、SQL接口、解析器、优化器、缓存、存储引擎、文件系统组成。连接池 :由于每次建立建 ......
211
0
0
2023-08-09
目录创建表MySQL执行优化器第一种情况:针对联合索引,是否遵循最左匹配原则;第二种情况:去掉大哥,看看索引是否命中;第三种情况:在索引列上做了函数操作,会导致索引失效而导致全表扫描第四种情况:模糊查询前缀是以%开头的,索引失效第五种情况:模糊查询中后缀是以%,可以命中索引第六种情况:使用is not null 会导致索引失效第六种情况:使用and时,其中有 ......
222
0
0
2023-07-22
前言只有Innodb和myisam存储引擎能用全文索引(innodb支持全文索引是从mysql5.6开始的)char、varchar、text类型字段能创建全文索引(fulltext index type)全文索引的基于关键词的,如何区分不同的关键词了,就要用到分词(stopword)英文单词用空格,逗号进行分词;中文分词不方便(一个句子不知道怎样区分不同的 ......
189
0
0
2023-07-19
目录阐述一、最左匹配原则的原理二、违背最左原则导致索引失效的情况三、查询优化器偷偷干了哪些事儿四、知识点阐述通常我们在建立联合索引的时候,相信建立过索引的同学们会发现,无论是Oracle 还是 MySQL 都会让我们选择索引的顺序,比如我们想在 a,b,c 三个字段上建立一个联合索引,我们可以选择自己想要的优先级,(a、b、c),或是 (b、a、c) 或者是 ......
221
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建了索引,但是 ......
212
0
0
2023-06-28