MySQL性能优化小结

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
简介: MySQL性能优化小结

如何做性能优化?

做好性能优化应该理解什么是性能优化。按照我的理解性能就是“从请求发起到得到响应所需要的时间”,而优化就是目标,是为了降低响应时间。

1.选定优化目标(what)

为了在有效的时间内做好性能优化达到成本与结果成正比,优化哪些目标同样重要。实际工作中所有的时间都是有成本的,理清轻重缓急与主次相当重要。根据阿姆达尔,对于一个时间比重占用不超过5%的查询进行优化,无论如何努力,收益也不会超过5%。例如,此次优化的选择:先用户侧后商户侧(前者对响应时间比较敏感),先黄金路径接口后功能路径接口。

2、如何进行优化

如果目标是降低响应时间,那么首先我们要弄清楚“时间都去哪儿了”,对症下药的方案也就比较明了。完成一项任务所需的时间一般分为两个部分:执行时间和等待时间。

如果想优化等待时间,最好的办法是测量和定位不同子任务花费的时间,然后选择一些耗时不正常的子任务优化。优化等待时间意味着等待是如何发生的,等待可能是由于不同子任务或者子系统间接影响导致,也可能由于磁盘I/O、CPU资源争抢、网络传输。更深入一点,如果业务程序是CPU消耗性的,可能系统调用也会影响响应时间。

总结一下:

1.优化值得优化的查询,优化成本大于收益时就应该停止。

2.弄清“时间都去哪儿了”,有的放矢

另外,有时候平均响应时间很正常,但却掩盖了某些异常响应。举例说“医院所有病人的平均体温没有任何价值”。被掩盖的细节里能提供更多的信息。

MySQL 性能优化

MySQL性能优化同样基于以上原理进行,同时需要一些MySQL的基础知识。

1.MySQL索引的特性

2.MySQL工具explain、profile

3.MySQL的锁机制

MySQL 性能优化小结

最好的优化永远是与业务关联的、最好的优化永远是良好的设计,所谓的优化只应该作为辅助和应对变更的方法,不应该把所有的任务放到优化阶段,不然所需要的消耗的时间将是指数级的!

(完)

本文作者 : cyningsun

本文地址https://www.cyningsun.com/09-07-2014/performance-optimization-on-mysql.html

版权声明 :本博客所有文章除特别声明外,均采用 CC BY-NC-ND 3.0 CN 许可协议。转载请注明出处!

# 数据库

  1. 深入理解 Redis cluster GOSSIP 协议
  2. 如何配置 go-redis 连接池
  3. 如何使用 Redis 存储对象
  4. Redis cluster 细节与技术选型
  5. etcd 实现与选型分析
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
存储 缓存 负载均衡
mysql的性能优化
在数据库设计中,应选择合适的存储引擎(如MyISAM或InnoDB)、字段类型(如char、varchar、tinyint),并遵循范式(1NF、2NF、3NF)。功能上,可以通过索引优化、缓存和分库分表来提升性能。架构上,采用主从复制、读写分离和负载均衡可进一步提高系统稳定性和扩展性。
38 9
|
6月前
|
存储 关系型数据库 MySQL
MySQL数据库进阶第三篇(MySQL性能优化)
MySQL数据库进阶第三篇(MySQL性能优化)
|
3月前
|
存储 SQL 关系型数据库
【MySQL调优】如何进行MySQL调优?从参数、数据建模、索引、SQL语句等方向,三万字详细解读MySQL的性能优化方案(2024版)
MySQL调优主要分为三个步骤:监控报警、排查慢SQL、MySQL调优。 排查慢SQL:开启慢查询日志 、找出最慢的几条SQL、分析查询计划 。 MySQL调优: 基础优化:缓存优化、硬件优化、参数优化、定期清理垃圾、使用合适的存储引擎、读写分离、分库分表; 表设计优化:数据类型优化、冷热数据分表等。 索引优化:考虑索引失效的11个场景、遵循索引设计原则、连接查询优化、排序优化、深分页查询优化、覆盖索引、索引下推、用普通索引等。 SQL优化。
605 15
【MySQL调优】如何进行MySQL调优?从参数、数据建模、索引、SQL语句等方向,三万字详细解读MySQL的性能优化方案(2024版)
|
2月前
|
存储 关系型数据库 MySQL
MySQL性能优化实践指南
【10月更文挑战第16天】MySQL性能优化实践指南
121 0
|
2月前
|
存储 关系型数据库 MySQL
MySQL性能优化指南
【10月更文挑战第16天】MySQL性能优化指南
131 0
|
3月前
|
存储 关系型数据库 MySQL
mysql-性能优化(一)
mysql-性能优化(一)
|
3月前
|
关系型数据库 MySQL 数据处理
针对MySQL亿级数据的高效插入策略与性能优化技巧
在处理MySQL亿级数据的高效插入和性能优化时,以上提到的策略和技巧可以显著提升数据处理速度,减少系统负担,并保持数据的稳定性和一致性。正确实施这些策略需要深入理解MySQL的工作原理和业务需求,以便做出最适合的配置调整。
416 6
|
3月前
|
SQL 存储 关系型数据库
深入 MySQL 的执行计划与性能优化
深入 MySQL 的执行计划与性能优化
42 0
|
4月前
|
存储 关系型数据库 MySQL
"深入探索MySQL临时表:性能优化利器,数据处理的灵活之选"
【8月更文挑战第9天】MySQL临时表专为存储临时数据设计,自动创建与删除,仅在当前会话中存在,有助于性能优化。它分为本地临时表和全局临时表(通过特定逻辑模拟)。创建语法类似于普通表,但加TEMPORARY或TEMP关键字。适用于性能优化、数据预处理和复杂查询,需注意内存占用和事务支持问题。合理使用可大幅提升查询效率。
261 2
|
5月前
|
SQL 存储 数据库
MySQL设计规约问题之性能分析工具如Sql explain、show profile和mysqlsla在数据库性能优化中有什么作用
MySQL设计规约问题之性能分析工具如Sql explain、show profile和mysqlsla在数据库性能优化中有什么作用