摘要:
## 5.1 索引基础 索引可以包含一个或多个列的值。如果索引包含多个列,那么列的顺序也十分重要,因为MySQL只能高效地使用索引的最左前缀列。创建一个包含两个列的索引,和创建两个只包含一列的索引是大不相同的。 ### 1)索引的类型 #### B-Tree类型 全值匹配:指的是和索引中的所有列进行 阅读全文
摘要:
## 4.1 选择优化的数据类型 更小的通常更好 一般情况下,应该尽量使用可以正确存储数据的最小数据类型。更小的数据类型通常更快,因为它们占用更少的磁盘、内存和CPU缓存,并且处理时需要的CPU周期也更少。 但要确保没有低估需要存储的值的范围,因为在schema中的多个地方增加数据类型的范围是一个非 阅读全文
摘要:
最常碰到的三个性能相关的服务请求是:如何确认服务器是否达到了性能最佳的状态、找出某条语句为什么执行不够快,以及诊断被用户描述成 "停顿"、"堆积" 或者 "卡死" 的某些间歇性疑难故障。 ## 3.1 性能优化简介 我们将性能定义为完成某件任务所需要的时间度量。换句话说,性能即响应时间。这是一个非常 阅读全文
摘要:
基准测试(benchmark):是针对系统设计的一种压力测试。通常的目标是为了掌握系统的行为。但也有其他原因,如重现某个系统状态,或者是做新硬件的可靠性测试。 ## 2.1 为什么需要基准测试 - 验证基于系统的一些假设,确认这些假设是否符合实际情况 - 重现系统中的某些异常行为,以解决这些异常 - 阅读全文
摘要:
mysql最重要、最与众不同的特性是它的存储引擎架构,这种架构的设计将查询处理及其他系统任务和数据的存储/提取相分离。这种处理和存储分离的设计可以在使用时根据性能、特性,以及其他需求来选择数据存储的方式。 ## 1.1 MySQL 逻辑结构 ![image](https://img2023.cnbl 阅读全文
摘要:
假定读者对MySQL有一定的了解,对系统管理、网络和类Unix的操作系统都有一定了解。 版本区别: - 关注点不同(第三版):指出MySQL为什么会这样做,而不是MySQL做了什么。使用更多的演示和案例学习将上述原则落地。通过这样的方式,希望能够尝试回到下面这样的问题:给出MySQL的内部结构和操作 阅读全文
摘要:
## 15.精炼 如何才能专注于核心问题而不被大量的次要问题淹没呢?分层架构可以把领域概念从技术逻辑中(技术逻辑确保了计算机系统能够运转)分离出来,但在大型系统中,即使领域被分离出来,它的复杂性也可能仍然难以管理。 精炼是把一堆混杂在一起的组件分开的过程,以便从中提取出最重要的内容,使得它更有价值, 阅读全文
摘要:
第四部分 战略设计 随着系统的增长,它会变得越来越复杂,当我们无法通过分析对象来理解系统的时候,就需要掌握一些操纵和理解大模型的技术了。 三大主题:上下文、精炼和大比例结构。 上下文:模型必须在逻辑上保持整体的一致 精炼:减少混乱,并且把注意力集中到正确的地方 大比例结构:描述整个系统。respon 阅读全文
摘要:
## 11. 分析模式的应用 马丁 分析模式:表示业务建模中的常见构造 分析模式的最大作用是借鉴其他项目的经验,把那些项目中所做的广泛的设计方向讨论和实现结果的经验与当前的模型结合起来。 记账:钱不会无中生有,也不会无故消失。它只能从一个账户迁移到另一个账户。 当你可以幸运地使用一种分析模式时,它一 阅读全文
摘要:
## 10.柔性设计 软件的最终目的是为用户服务。但首先它必须为开发人员服务。在强调重构的软件开发过程中尤其如此。随着程序的演变,开发人员将重新安排并重写每个部分。他们会把原有的领域对象集成到应用程序中,也会让它们与新的领域对象进行集成。甚至几年以后,维护程序还将修改和扩充代码。人们必须要做这些工作 阅读全文