![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Mysql数据库高级篇
JmStart
这个作者很懒,什么都没留下…
展开
-
MySql数据库优化篇(七) 关联查询优化、排序分组优化
一. 左外连接(left join) 1. 建表: CREATE TABLE IF NOT EXISTS `class` ( `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, `card` INT(10) UNSIGNED NOT NULL, PRIMARY KEY (`id`) ); CREATE TABLE IF NOT EXISTS `book` ( `bookid` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, `原创 2020-07-22 15:48:09 · 547 阅读 · 0 评论 -
MySql数据库优化篇(六) 索引优化
一. 索引失效的解决方式 如不理解以下内容:请看Explain性能分析归纳总结 1.全值匹配我最爱 2.最佳左前缀法则 如果索引了多例,要遵守最左前缀法则。指的是查询从索引的最左前列开始并且不跳过索引中的列。 3.不在索引列上做任何操作(计算、函数、(自动or手动)类型转换),会导致索引失效而转向全表扫描。 4.存储引擎不能使用索引中范围条件右边的列 5.尽量使用覆盖索引(只访问索引的查询(索引列和查询列一致)),减少select* 6.mysql在使用不等于(!=或者<>)的时候无原创 2020-07-22 15:05:37 · 346 阅读 · 0 评论 -
MySql数据库优化篇(五) 批量插入数据脚本的实现
一. Sql语句 1. 建表语句: CREATE TABLE `dept` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `deptName` VARCHAR(30) DEFAULT NULL, `address` VARCHAR(40) DEFAULT NULL, ceo INT NULL , PRIMARY KEY (`id`) ) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULTCHARSET=utf8; CREATE原创 2020-07-22 09:57:59 · 251 阅读 · 0 评论 -
MySql数据库优化篇(四) Explain性能分析归纳总结
一. Explain概念 1. Explain定义: 使用Explain关键字可以模拟优化器执行SQL查询语句,从而知道 MySQL 是如何处理你的 SQL 语句的。 分析你的查询语句或是表结构的性能瓶颈。 2. 用法: Explain+SQL 语句。 Explain 执行后返回如下图的信息: 二. Explain执行后的关键字解读 1. id列: id 相同,执行顺序由上至下。 id 不同,如果是子查询,id 的序号会递增,id 值越大优先级越高,越先被执行。 2. select_type原创 2020-07-22 09:05:49 · 210 阅读 · 0 评论 -
MySql数据库优化篇(三) 索引简介与使用
一. 索引是什么? 1. 官方定义: MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。 可以得到索引的本质:索引是数据结构 你可以简单理解为"排好序的快速查找数据结构"。 2. 索引存储在哪? 一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往以文件形式存储在硬盘上。 3. 常见索引: 我们平时所说的索引,如果没有特别指明,都是指B树(多路搜索树,并不一定是二叉树)结构组织的索引。其中聚集索引,次要索引, 覆盖索引,复合索引,前缀索引,唯一索引默认都原创 2020-07-22 08:01:02 · 152 阅读 · 0 评论 -
MySql数据库优化篇(二) 查询流程与存储引擎
一. MySql数据库的查询流程 1. mysql 的查询流程大致是: 1. mysql 客户端通过协议与 mysql 服务器建连接,发送查询语句,先检查查询缓存,如果命中,直接返回结果, 否则进行语句解析,也就是说,在解析查询之前,服务器会先访问查询缓存(query cache)—— 它存储 SELECT 语句以及相应的查询结果集。如果某个查询结果已经位于缓存中, 服务器就不会再对查询进行解析、优化、以及执行。它仅仅将缓存中的结果返回给用户即可,这将大大提高系统的性能。 2. 语法解析器和预处理:原创 2020-07-20 19:07:11 · 170 阅读 · 0 评论 -
MySql数据库优化篇(一) MySql架构介绍
一. MySql逻辑架构介绍 1. 定义: 和其它数据库相比,MySQL 有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用。 主要体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和其它的系统任务以及数据的存储提取相分离。 这种架构可以根据业务的需求和实际需要选择合适的存储引擎。 2. 四层架构图: 二. 详解四层结构 1. 连接层: 最上层是一些客户端和连接服务,包含本地 sock 通信和大多数基于客户端/服务端工具实现的类似于 tcp/ip 的通信。 主要完成一些类似于连接处理、授权原创 2020-07-20 18:27:43 · 200 阅读 · 0 评论