第 8 章 优化
文章平均质量分 74
第 8 章 优化(Chapter 8 Optimization)
独上西楼影三人
高级DBA,高级数据库工程师,ETL开发工程师,数据库解决方案工程师,数据库售前工程师,数据库架构师,一直从事数据相关领域工作,主要是数据库行业。刻意练习,贵在坚持,优雅永不过时。
展开
-
10.5.8 优化 InnoDB 磁盘 I/O
如果您遵循了针对 SQL 操作的数据库设计和调优技术的最佳实践,但由于磁盘 I/O 活动频繁,数据库仍然很慢,请考虑这些磁盘 I/O 优化。如果 Unix top工具或 Windows 任务管理器显示您的工作负载的 CPU 使用率低于 70%, 则您的工作负荷可能是受磁盘约束的。原创 2024-03-11 23:54:32 · 1006 阅读 · 0 评论 -
8.8.2 EXPLAIN 输出格式
第 8.8.2 节 EXPLAIN 输出格式。详解 MySQL EXPLAIN 语句的输出信息。原创 2023-06-08 23:16:35 · 575 阅读 · 0 评论 -
8.8.1 使用 EXPLAIN 优化查询
【代码】8.8.1 使用 EXPLAIN 优化查询。原创 2023-06-03 17:26:06 · 442 阅读 · 0 评论 -
8.8 理解查询执行计划
【8.8 理解查询执行计划】节目录及简介。原创 2023-06-01 22:39:09 · 154 阅读 · 1 评论 -
第 8 章 优化
本章介绍如何优化 MySQL 性能并提供示例。优化包括在多个级别配置、调整和测量性能。根据您的工作角色(开发人员、 DBA 或两者的组合),您可以在单个 SQL 语句、整个应用程序、单个数据库服务器或多个网络数据库服务器的级别进行优化。有时,您可以采取主动并提前计划性能,而有时,您可能会在出现问题后对配置或代码问题进行故障排除。优化 CPU 和内存使用率还可以提高可扩展性,使数据库能够处理更多的负载而不会减慢速度。原创 2023-02-14 17:33:32 · 330 阅读 · 0 评论 -
8.1 优化概述
数据库性能取决于数据库级别的几个因素,例如表、查询和配置设置。这些软件结构导致了硬件级别的 CPU 和 I/O 操作,您必须将其最小化并尽可能提高效率。在研究数据库性能时,首先要学习软件端的高级规则和准则,然后使用墙上的时钟时间来测量性能。当您成为专家时,您将了解更多关于内部发生的事情,并开始衡量 CPU 周期和 I/O 操作等事情。典型用户的目标是从现有的软件和硬件配置中获得最佳的数据库性能。高级用户寻找机会来改进 MySQL 软件本身,或者开发自己的存储引擎和硬件设备来扩展 MySQL 生态系统。原创 2023-02-14 18:14:36 · 258 阅读 · 0 评论 -
8.2 优化 SQL 语句
数据库应用程序的核心逻辑是通过 SQL 语句执行的,无论是直接通过解释器发出还是通过 API 在后台提交。本节中的调优指南有助于加快各种 MySQL 应用程序的速度。该指南涵盖了读取和写入数据的 SQL 操作、一般 SQL 操作的幕后开销,以及数据库监控等特定场景中使用的操作。原创 2023-02-14 18:51:22 · 59 阅读 · 0 评论 -
8.2.1 优化 SELECT 语句
即使对于使用缓存内存区域快速运行的查询,您也可以进一步优化,使其需要更少的缓存内存,从而使应用程序更具可扩展性。可扩展性意味着您的应用程序可以同时处理更多的用户、更大的请求等,而不会出现性能的大幅下降。根据查询的结构,可以为结果集中的每一行调用一次函数,甚至为表中的每一行都调用一次,从而大大提高了效率。NDB 集群支持连接下推优化,从而将符合条件的连接整体发送到 NDB 集群数据节点,在这些节点之间可以是分布式的,并且并行执行。处理锁定问题,其中查询的速度可能会受到同时访问表的其他会话的影响。原创 2023-02-14 20:12:12 · 321 阅读 · 0 评论 -
8.2.1.1 WHERE 子句优化
查询每个表索引,并使用最佳索引,除非优化器认为使用表扫描更有效。曾经,扫描是基于最佳索引是否覆盖了表的 30% 以上,但固定的百分比不再决定使用索引还是扫描。由于 MySQL 会自动进行类似的优化,因此您通常可以避免这项工作,并以更易于理解和维护的形式保留查询。如果索引中使用的所有列都是数字,则只使用索引树来解析查询。在 MySQL 8.0.14 及更高版本中,这是在准备阶段而不是优化阶段进行的,这有助于简化连接。因为 MySQL 优化器的工作正在进行,所以这里并没有记录 MySQL 执行的所有优化。原创 2023-02-14 21:16:04 · 407 阅读 · 0 评论 -
8.2.1.2 范围优化
范围访问方法使用单个索引来检索包含在一个或多个索引值间隔内的表行子集。它可以用于单个部分或多个部分索引。以下部分描述优化器使用范围访问的条件。原创 2023-02-16 11:26:33 · 343 阅读 · 0 评论 -
8.2.1.3 索引合并优化
索引合并访问方法检索具有多个范围扫描的行,并将其结果合并为一个。此访问方法仅合并来自单个表的索引扫描,而不是跨多个表的扫描。合并可以生成其基础扫描的合并、交叉或交叉的合并。WHEREAND/OR在EXPLAIN输出中,索引合并方法在type列中显示为。在本例中,key列包含使用的索引列表,key_len包含这些索引的最长键部分列表。索引合并访问方法有几种算法,显示在EXPLAIN输出的Extraunion(...)以下各节将更详细地描述这些算法。原创 2023-02-16 12:15:35 · 414 阅读 · 0 评论 -
8.2.1.4 Hash Join 优化
8.2.1.4 Hash Join 优化原创 2022-11-21 10:32:45 · 165 阅读 · 0 评论 -
8.2.19 LIMIT 查询优化
【MySQL 8翻译】8.2.19 LIMIT 查询优化原创 2022-08-25 10:49:33 · 844 阅读 · 0 评论