本文讲一下mysql的整体查询过程 1、基本的框架 客户端 - > 连接器 - > 分析器 -> 优化器 - >执行器 - > 存储引擎 - > 查询缓存 - > 这里还有一个缓存的位置,是在连接器处,如果缓存中存在要查询的结果则直接走缓存返回 但在现实中开启缓存的几率比较低 原因1、对于一个表的更 ...
分类:
数据库 时间:
2020-05-23 20:19:28
阅读次数:
88
按数据结构 B树索引 数据位于叶子节点,到任何一个叶子节点的距离相同,一般不超过3-4层 B+树索引:每个叶子节点除了数据还存放前后叶子节点的指针,方便快速检索,是InnoDB采用的索引结构 Hash索引 Fulltext索引 R树索引 按实现方式 聚集索引(聚簇索引) 叶子节点存放行数据 将索引行 ...
分类:
数据库 时间:
2020-05-23 00:12:43
阅读次数:
77
在昨天的面试中问到了MySQL索引怎么优化(查询很慢怎么办),回答的很不理想,所以今天来总结几篇关于MySQL索引的知识。 1.什么是索引? 首先我们一定要明确什么是索引?我自己的总结就是索引是一种数据结构,可以帮助我们快速访问数据库的指定信息,就像一本书的目录一样,可以加快查询速度 2.MySQl ...
分类:
数据库 时间:
2020-05-21 13:21:54
阅读次数:
78
大家好我是好好学习天天编程的天天,又来给大家分享面试题了~~ 有粉丝私信说有有些题不会做,那怎么办呢? 现在你们有福利了,我会每天录制一个视频,讲解一个高频面试题 如下: "干货 | 名企高频考点 C++ vector基本使用" 每天的视频我都会汇总到一起: "IT笔试面试真题讲解合集" 下面开始分 ...
分类:
编程语言 时间:
2020-05-20 15:49:58
阅读次数:
61
mysql 索引中的USING BTREE有什么用 创建索引时指定索引类型 https://dev.mysql.com/doc/refman/5.7/en/create index.html ...
分类:
数据库 时间:
2020-05-19 10:54:24
阅读次数:
78
索引类似大学图书馆建书目索引,可以提高数据检索的效率,降低数据库的IO成本 MySQL提供了Explain,用于显示SQL执行的详细信息,可以进行索引的优化。 一,导致SQL语句执行慢的原因 1.硬件问题。如: 网络速度,内存不足,I/O吞吐量小,磁盘空间满了等。 2.没有索引 或者 索引失效。(表 ...
分类:
数据库 时间:
2020-05-19 10:37:38
阅读次数:
97
1. explain是什么 使用explain关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的,分析你的查询语句或是表结构的性能瓶颈。 2. explain能干吗 可用于分析: 表的读取顺序 数据读取操作的操作类型 哪些索引可以使用 哪些索引被实际使用 表之间的引 ...
分类:
数据库 时间:
2020-05-19 00:30:18
阅读次数:
105
前言:索引是MySQL数据库中的重要对象之一,索引的目的在于提高查询效率。可以类比字典中的目录,查找字典内容时可以根据目录查找到数据的存放位置,然后直接获取即可。索引是表的目录,在查找内容之前可以先在目录中查找索引位置,以此快速定位查询数据。需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同。为了避免混乱,本文将只关注于InnoDB引擎下的B+Tree索引。1.索引结构
分类:
数据库 时间:
2020-05-15 17:35:10
阅读次数:
68
MySQL索引的基础和类型 索引对性能的影响 大大减少服务器需要扫描的数据量 帮助服务器避免排序和临时表 将随机I/O变顺序I/O 大大提高查询速度,降低写的速度、占用磁盘 索引的使用场景 对于非常小的表,大部分情况下全表扫描效率更高 中到大型表,索引非常有效 特大型的表,建立和使用索引的代价将随之 ...
分类:
数据库 时间:
2020-05-14 19:52:15
阅读次数:
83
MySQL官方对索引的定义为:索引是帮助MySQL高效获取数据的数据结构。 索引的本质:索引是数据结构,可以简单的理解为“排好序的快速查找B+树数据结构” B+树:B代表平衡(balance)而不是二叉(binary) 检索原理: mysql索引结构: BTREE: B树(Balance Tree多 ...
分类:
数据库 时间:
2020-05-14 01:14:41
阅读次数:
72