随笔分类 -  MySQL

摘要:优化嵌套查询 嵌套查询(子查询)可以使用SELECT语句来创建一个单列的查询结果,然后把这个结果作为过滤条件用在另一个查询中。嵌套查询写起来简单,也容易理解。但是,有时候可以被更有效率的连接(JOIN)替代。 现在假如要找出从来没有在网站中消费的客户,也就是查询在客户customer表中但是不在支付 阅读全文
posted @ 2018-08-31 08:24 CoderFocus 阅读(10812) 评论(6) 推荐(11) 编辑
摘要:本篇文章我们将了解ORDER BY语句的优化,在此之前,你需要对索引有基本的了解,不了解的朋友们可以先看一下我之前写过的索引相关文章。现在让我们开始吧。 MySQL中的两种排序方式 1. 通过有序索引顺序扫描直接返回有序数据 因为索引的结构是B+树,索引中的数据是按照一定顺序进行排列的,所以在排序查 阅读全文
posted @ 2018-08-17 08:07 CoderFocus 阅读(17539) 评论(2) 推荐(10) 编辑
摘要:在MySQL中,索引属于存储引擎级别的概念,不同存储引擎对索引的实现方式是不同的,本文主要讨论MyISAM和InnoDB两个存储引擎的索引实现方式。 MyISAM索引实现 MyISAM引擎使用B+Tree作为索引结构。 MyISAM会按照数据插入的顺序分配行号,从0开始,然后按照数据插入的顺序存储在 阅读全文
posted @ 2018-08-13 09:11 CoderFocus 阅读(8593) 评论(1) 推荐(9) 编辑
摘要:上一篇文章我们介绍了 "索引背后的数据结构" ,这篇文章我们来介绍影响索引数据结构选型的因素——存储器存取。 主存存取原理 主存的构成 主存储器(简称主存或内存)包括存取体、各种逻辑部件及控制电路等。存储体由许多存储单元组成,每个存储单元又包含若干个存储元件,每个存储元件能寄存一位二进制代码“0”或 阅读全文
posted @ 2018-08-07 09:52 CoderFocus 阅读(1374) 评论(9) 推荐(2) 编辑
摘要:在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构,就是索引。 B Tree B Tree是一种 平衡 的多路 查找(又称排序) 树,在文件系统中和数据库系统中有所应用。主要用作文件的索引。 其中 阅读全文
posted @ 2018-08-06 09:18 CoderFocus 阅读(15849) 评论(16) 推荐(24) 编辑
摘要:上篇文章中介绍了索引的基本内容,这篇文章我们继续介绍索引优化实战。在介绍索引优化实战之前,首先要介绍两个与索引相关的重要概念,这两个概念对于索引优化至关重要。 本篇文章用于测试的user表结构: 索引相关的重要概念 基数 单个列唯一键(distict_keys)的数量叫做基数。 user表的总行数是 阅读全文
posted @ 2018-08-05 09:35 CoderFocus 阅读(3458) 评论(1) 推荐(3) 编辑
摘要:本篇文章,我们将从索引基础开始,介绍什么是索引以及索引的几种类型,然后学习如何创建索引以及索引设计的基本原则。 本篇文章中用于测试索引创建的user表的结构如下: 什么是索引 索引(在 MySQL 中也叫“键key”)是存储引擎快速找到记录的一种数据结构 ——《高性能MySQL》 我们需要知道索引其 阅读全文
posted @ 2018-08-04 09:00 CoderFocus 阅读(11057) 评论(0) 推荐(8) 编辑
摘要:在MySQL中,我们可以通过 EXPLAIN 命令获取MySQL如何执行SELECT语句的信息,包括在SELECT语句执行过程中表如何连接和连接的顺序。 下面分别对 EXPLAIN 命令结果的每一列进行说明: select_type :表示SELECT的类型,常见的取值有: | 类型 | 说明 | 阅读全文
posted @ 2018-08-03 08:11 CoderFocus 阅读(28226) 评论(2) 推荐(6) 编辑
摘要:在上篇文章中我们介绍了 "基于Docker的Mysql主从搭建" ,一主多从的搭建过程就是重复了一主一从的从库配置过程,需要注意的是,要保证主从库my.cnf中 server id 的唯一性。搭建完成后,可以在主库 查看有哪些从库节点。 我们来简单了解一下Mysql主从复制的过程: (1) mast 阅读全文
posted @ 2018-07-30 08:05 CoderFocus 阅读(19935) 评论(3) 推荐(3) 编辑
摘要:为什么基于Docker搭建? 资源有限 虚拟机搭建对机器配置有要求,并且安装mysql步骤繁琐 一台机器上可以运行多个Docker容器 Docker容器之间相互独立,有独立ip,互不冲突 Docker使用步骤简便,启动容器在秒级别 利用Docker搭建主从服务器 首先拉取docker镜像,我们这里使 阅读全文
posted @ 2018-07-26 14:17 CoderFocus 阅读(51282) 评论(20) 推荐(15) 编辑