随笔分类 - 技术 / mysql学习 / 高性能MySQL 第三版
摘要:# 七、MySQL高级性能 ## 7.1 分区表 MySQL在创建表时使用PARTITION BY 子句定义每个分区存放的数据 分区的一个主要目的是将数据按照一个较粗的力度分在不同的表中。这样做可以将相关的数据存放在一起 ### 1)分区表的原理 SELECT 查询:当查询一个分区表的时候,分区层先
阅读全文
摘要:查询优化、索引优化、库表结构优化需要齐头并进,一个不落 ## 6.1 为什么查询速度会慢 真正重要的是响应时间。如果把查询看作是一个任务,那么它由一系列子任务组成,每个子任务都会消耗一定的时间。如果要优化查询,实际上要优化其子任务,要么消除其中一些子任务,要么减少子任务的执行次数,要么让子任务运行得
阅读全文
摘要:## 5.1 索引基础 索引可以包含一个或多个列的值。如果索引包含多个列,那么列的顺序也十分重要,因为MySQL只能高效地使用索引的最左前缀列。创建一个包含两个列的索引,和创建两个只包含一列的索引是大不相同的。 ### 1)索引的类型 #### B-Tree类型 全值匹配:指的是和索引中的所有列进行
阅读全文
摘要:## 4.1 选择优化的数据类型 更小的通常更好 一般情况下,应该尽量使用可以正确存储数据的最小数据类型。更小的数据类型通常更快,因为它们占用更少的磁盘、内存和CPU缓存,并且处理时需要的CPU周期也更少。 但要确保没有低估需要存储的值的范围,因为在schema中的多个地方增加数据类型的范围是一个非
阅读全文
摘要:最常碰到的三个性能相关的服务请求是:如何确认服务器是否达到了性能最佳的状态、找出某条语句为什么执行不够快,以及诊断被用户描述成 "停顿"、"堆积" 或者 "卡死" 的某些间歇性疑难故障。 ## 3.1 性能优化简介 我们将性能定义为完成某件任务所需要的时间度量。换句话说,性能即响应时间。这是一个非常
阅读全文
摘要:基准测试(benchmark):是针对系统设计的一种压力测试。通常的目标是为了掌握系统的行为。但也有其他原因,如重现某个系统状态,或者是做新硬件的可靠性测试。 ## 2.1 为什么需要基准测试 - 验证基于系统的一些假设,确认这些假设是否符合实际情况 - 重现系统中的某些异常行为,以解决这些异常 -
阅读全文
摘要:mysql最重要、最与众不同的特性是它的存储引擎架构,这种架构的设计将查询处理及其他系统任务和数据的存储/提取相分离。这种处理和存储分离的设计可以在使用时根据性能、特性,以及其他需求来选择数据存储的方式。 ## 1.1 MySQL 逻辑结构 :指出MySQL为什么会这样做,而不是MySQL做了什么。使用更多的演示和案例学习将上述原则落地。通过这样的方式,希望能够尝试回到下面这样的问题:给出MySQL的内部结构和操作
阅读全文