数据库(MySQL)的调优

阿里P9师傅亲传98K+星的MySQL性能优化金字塔法则手册助我升职P7 咳咳咳 前两天我突然看到了一组数据,让我有点震惊!国内居然有83%的开发人员都在使用MySQL数据库!我承认是我格局小了,不过后来冷静下来仔细想了想倒也确实如此,毕竟 mysql永远滴神!MySQL是互联网中非常热门的数据库,在高并发业务场景下,一条好的SQL语句能为企业节省大量的运作时间和成本。如果优化得好,每秒可高达 57 万的写入! 这也是为何互联网大厂面试官最爱考察数据库底层和性能调优的原因。 因此,了解其底层原理和架构的设计非常重要,比如 MySQL的存储引擎,很大程度上决定了 MySQL 阅读详情

MySQL 调优金字塔理论

如上图所示:

数据库优化维度有四个:
硬件、系统配置、数据库表结构、SQL及索引
优化成本:
硬件>系统配置>数据库表结构>SQL及索引
优化效果:
硬件<系统配置<数据库表结构<SQL及索引

1. SQL及索引的优化

1.1 优化步骤

 1)  查看本机MySQL Server 慢查询是否打开

show variables like 'slow%'; 

慢查询打开的情况如下所示:

 2)若慢查询未打开则通过如下脚本设置慢查询

set global slow_query_log = on;
即
set global [上图中选项] = [你要设置的参数值]
注意 slow_query_log_file 路径要加单引号,因为路径varchar  类型的。

3) 定位分析慢查询mysqldumpslow

mysqldumpslow 是MySQL自带的分析数据库慢查询的原生利器,使用方法如下:

mysqldumpslow -t 3 /data/mysql/log/mysql_slow_query.log | more \G;
-t  3 显示前3条慢查询。

通过explain查看执行计划

explain select * from tablename;

1.2 具体优化点(基本原则)

a. sql的优化重要在于减少扫描表的次数(避免全表扫描),需要建立必要的索引

b. 使用order by 是避免使用到filesort(额外的文件排序),排序字段应该属于索引字段

c.在使用复合索引时要符合最左原则

d.避免类型转换,否则可能索引失效

e. <> 、!、is null、not in、like(可以前缀匹配) 等操作符慎用,or(如果要利用索引,则OR之间的每个条件列都必须要用到索引,否则使用union 代替)

f. 对于join联合查询,要用小表驱动大表,排序字段尽量在驱动表上

g.覆盖索引(查询的列与where字句的条件列都能在索引中找到),覆盖索引可以避免或者减少回表

h.分页limit优化,对于偏移量offset较大的语句可以通过倒叙反向查询

i.尽量不使用select * ,去除没有使用到的字段,只查需要的字段

j.少用count(*)

k.尽早过滤原则

2. 表结构优化

参考

3.系统参数配置优化

参考

4.硬件优化

cpu、内存、IO

有笔记本功能但自动记录的桌面程序icon-default.png?t=N7T8https://pan.baidu.com/s/1s9d69-wNJPh5tEOMAZsJvg?pwd=yjg4


 


 

MySQL性能调优的10个方法 1. 选择合适的存储引擎: InnoDB 除非你的数据表使用来做只读或者全文检索 (相信现在提到全文检索,没人会用 MYSQL 了),你应该默认选择 InnoDB 。 你自己在测试的时候可能会发现 MyISAM 比 InnoDB 速度快,这是因为: MyISAM 只缓存索... 阅读详情

相关推荐

MySQL数据库的性能调优工具推荐

随着互联网业务的飞速发展,MySQL数据库作为一种广泛使用的开源关系型数据库,承载着越来越多的数据存储和处理任务。然而,在实际应用中,MySQL数据库可能会面临性能瓶颈,如查询响应时间过长、吞吐量低下等问题。这些问题不仅会影响用户体验,还可能导致业务系统的稳定性下降。因此,对MySQL数据库进行性能调优显得尤为重要。本文的目的是为读者推荐一系列实用的MySQL性能调优工具,帮助他们更好地监控、分析和优化MySQL数据库的性能。

2502_91592937的博客 819

【MySQL调优】如何进行MySQL调优?一篇文章就够了!

MySQL调优主要分为三个步骤:监控报警、排查慢SQL、MySQL调优。 排查慢SQL:开启慢查询日志 、找出最慢的几条SQL、分析查询计划 。 MySQL调优: 基础优化:缓存优化、硬件优化、参数优化、定期清理垃圾、使用合适的存储引擎、读写分离、分库分表; 表设计优化:数据类型优化、冷热数据分表等。 索引优化:考虑索引失效的11个场景、遵循索引设计原则、连接查询优化、排序优化、深分页查询优化、覆盖索引、索引下推、用普通索引等。 SQL优化。

种一棵树最好的时间是十年前,其次是现在 3万+

千金良方:MySQL性能优化金字塔法则.docx

千金良方:MySQL性能优化金字塔法则.docx

MySQL性能调优的10个方法(转载)-20230709

MySQL性能调优的10个方法

u010503464的博客 4899

MAPLAB X IDE仿真调试

一、开发环境 操作系统:Windows 10 调试工具:Pickit3 单片机型号:PIC24FJ32GA002 二、操作步骤 1、连接Pickit3仿真器于单片机对应的烧写口如图示: 2、点击调试项目进入调试模式,这时底下输出框显示"运行"代表成功进入调试模式。 3、选择断点,该IDE只支持两个断点,使用超过两个时,超过的断点亮灰色代表无效。设置好断点后需暂停然后再重新点击运行才能生效。可以看到在断点处有绿色光标。 ...

RealHero的博客 5084

基于Python的闲鱼商品价格评估模型:爬虫+价格预测全实现

本文介绍了一个完整的全球气候数据抓取与分析流程,采用轻量化的技术栈(requests+pandas+matplotlib+folium),实现以下核心功能: 全球城市定向抓取:支持自定义城市列表,自动获取经纬度并抓取多源气候数据 双数据源互补:结合OpenWeatherMap API(实时数据)和Climate-Data.org(历史数据) 全维度覆盖:采集气温、降水、湿度等核心指标,并进行自动化清洗转换 丰富可视化:生成热力图、趋势图和统计图表,支持地理定位展示 灵活扩展:模块化设计便于新增城市或扩展数据

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 3047

《Go 数据库编程开篇:彻底打通 database/sql 与 MySQL 驱动的连接池调优密码》

本篇博客作为 Go 数据库编程的开篇之作,由浅入深地拆解了 Go 语言原生 `database/sql` 与第三方 `github.com/go-sql-driver/mysql` 驱动包的高级协同机制。 文章首先从软件架构视角,揭秘了 Go 官方“接口与实现分离”的解耦哲学,硬核剖析了引入驱

jieyucx的博客 372

2023年金蝶云星辰初级顾问认证参考试题(1)

最新积累的考试真题,答案只供参考(49分T~T),欢迎大佬们更正,私聊我修改,有新的试题也可以私聊我,日后会完善题库!大家一起努力,预祝大家顺利通过!1.【简单】生产环节中,客户老板希望掌握材料的超发或漏发情况,,以便分析用料情况,对材料浪费进行管控,可以查看什么报表?⒉[中等】客户主营电气柜的生产销售,商品为非标品需定制,又因交期效短,需要边生产边补料,以下哪个功能最适合该客户场景?15.【简单】在给商品设置科目关联时,分别按照单个商品,商品类别,所有商品设置了对应客户,()优先级最高。

MLX00的博客 7973

MySQL——数据库调优整体策略

文章目录MySQL——数据库调优整体策略1、数据库调优1.1、调优的目标1.2、确定调优的目标1.3、调优的维度和步骤2、MySQL服务器的优化2.1、优化服务器硬件2.2、优化MySQL服务的参数3、优化数据库结构3.1、拆分表:数据冷热分离3.2、增加中间表3.3、增加冗余字段3.4、优化数据类型3.5、优化插入记录的速度3.6、使用非空约束3.7、分析表3.8、检查表3.9、优化表4、大表优化4.1、限定查询范围4.2、读写分离4.3、垂直拆分4.4、水平拆分5、其它调优策略5.1、服务器语句超时处理

万里顾一程的博客 4700

手把手教你学pcie--性能调优 - 中断机制优化

在PCIe系统开发中,中断机制是主机与设备之间通信的重要组成部分。然而,不当的中断设计可能导致CPU负载过高、延迟增加等问题。本文将详细介绍如何优化PCIe系统的中断机制,提升系统性能和响应速度。传统中断(INTx):通过专用引脚发送中断信号,可能引发冲突且效率较低。消息中断(MSI):通过内存写操作发送中断消息,避免冲突并提高效率。扩展消息中断(MSI-X):基于MSI改进,支持更多独立中断向量,适用于复杂场景。选择合适的中断模式对系统性能至关重要。

MHD0815的博客 287

uniapp:安卓苹果APP判断是否授权开启手机位置服务+弹框引导跳转到用户手机设置位置服务开启页面,uniApp app判断是否授权位置信息权限如果位置是关闭状态则提示用户(跳转各机型位置设置页面)

uniapp APP判断是否开启位置信息服务&&判断是否授权位置信息权限,uniappapp定位权限被拒绝后,询问是否开启授权并跳转到手机设置页面,uniapp APP端 定位未授权 去手机设置里开启定位,uniapp提示用户开启定位,跳转到开启定位页面,uniapp获取当前位置及检测授权状态,uniapp中获取位置信息处理,uni-app实现定位功能_uniapp获取定位位置信息,uniapp中app是否开启定位,app获取地理位置,uniapp打开位置权限设置页面IOS,用户并没有开启微信信息服务或者没

✅ 精选推荐文章 4342

12 MySQL 数据库其它调优策略

这篇文章从多个维度系统介绍了MySQL数据库的调优策略,主要包括六个关键步骤:选择适合的DBMS、优化表设计、优化逻辑查询、优化物理查询、使用缓存技术以及库级优化。同时详细阐述了服务器硬件优化和MySQL参数配置的具体方法,如调整内存缓冲区大小、优化磁盘I/O性能、合理设置查询缓存等。文章强调数据库调优需要综合考虑系统资源、响应速度和瓶颈消除,通过分层优化提升整体性能。专业管理员可根据实际业务需求,结合硬件配置和参数调整,实现MySQL数据库的最佳性能表现。

weixin_61635597的博客 1368

Vue2 - 详细实现解析Markdown内容生成侧边栏Toc目录索引,识别文章内容根据大标题/小标题自动生成多级文章目录,点击目录导航时跳转到文章内容对应的锚点位置带过渡动画,滑过锚点时高亮对应标题

vue2,nuxt2,Markdown,目录,文章目录锚点,滚动高亮导航文字,根据页面滚动高亮显示目录的侧边栏,自动提取标题生成右侧目录,vuemarkdown解析并生成目录,滚动页面的时候文章目录跟着选中效果,侧边栏滚动跟随页面,右边目录固定,左边内容可以滚动并且与左边目录联动,实现监听滚动,锚点定位,文章目录滚动跟随高亮,右边菜单点击目录滚动到对应标题,报错,渲染失败,文章内容,读取#标题符号,自动生成一个目录树,自动生成Toc目录,博客内容生成目录索引,资讯文章,生成锚点目录树TOC,详细示例代码教

🏆 前端领域优质创作者 3669

MySQL学习Day25——数据库其他调优策略

用于控制MySQL监听TCP牆口时设置的积压请求栈大小,如果MySql的连接数达到max_connections时,新来的请求将会被存在堆栈中,以等待某一连接释放资源,该堆栈的数量即back_log,如果等待连接的数量超过back_log将不被授予连接资源。足够大的内存是提高MySQL数据库的性能方法之一,内存的速度比磁盘IO快很多,可以通过增加系统的缓冲区容量使得数据在内存中停留的时间更长,以减少磁盘的IO。表示同时打开表的个数,table_cache值越大,能够同时打开的表的个数越多。

m0_50460160的博客 1111

国科大学习资料--高级软件工程-复习题概念解释答案

国科大学习资料–高级软件工程(罗铁坚 魏峻 刘丹)-复习题概念解释答案 1. 敏捷开发方法与Scrum方法 a.敏捷是一种强调轻量的过程方法论,它强调拥抱变化而不是与之对抗,通过有效的沟通发挥群体的智慧。敏捷方法采用迭代/增量开发的过程模型。敏捷宣言是:个体和交互高于流程和工具;工作的软件高于详尽的文档;客户合作高于合同谈判;响应变化高于遵循计划。 虽然右边的也有价值,但是认为左边的更有价值。 b.Scrum(Schwaber和Beedle)是管理两个披萨规模(4-9人)的软件开发团队的方法,它高频率的短会

无名何许人的博客 1444

OpenClaw 在 Docker 容器中的部署实战——零配置启动

本文介绍了OpenClaw在Docker容器中的快速部署方法,对比了本地部署与容器化部署的优势。通过官方镜像和Docker Compose两种方式,5分钟即可完成部署,并详细讲解了配置管理方案(挂载配置文件和环境变量)。文章还提供了飞书集成配置方法,以及生产环境下的日志管理、资源限制、健康检查等优化建议。最后包含常见问题排查指南,帮助开发者快速实现OpenClaw的容器化部署。

刘一说的IT专栏 905

《MySQL高级篇》十、数据库其他调优策略

数据库其他调优策略

LXYDSF的博客 4692

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

【数据库调优】MySQL与达梦数据库性能调优实战

MySQL和达梦数据库在性能调优方面既有相似之处,也有各自独特的优化方法和策略。通过合理设计索引、优化查询语句、调整缓存大小等措施,可以显著提高数据库的性能。同时,了解并充分利用各自特有的优化功能,将进一步提升数据库的稳定性和响应速度。在实际应用中,应根据具体需求和场景进行综合考虑和选择,以达到最佳的数据库性能。

探_无止境的博客 773

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

mysql高级-8-数据库其它调优策略

前面,我们在表层面对数据库调优做了一些介绍,包括查询优化,索引优化等,本章将探讨数据库的其它调优策略。MySQL数据库教程天花板,mysql安装到…

weixin_44227063的博客 1462

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

MySQL 数据库性能调优

MySQL 数据库性能调优优化的范围有哪些存储、主机和操作系统方面:应用程序方面:数据库优化方面:优化维度数据库优化维度有四个:优化选择:数据库层面数据库层面问题解决思路一般应急调优的思路:常规调优思路:系统层面cpu方面:内存:IO设备(磁盘、网络):vmstat 命令说明:iostat命令说明基础优化优化思路处理方向:硬件优化主机方面:cpu的选择:内存的选择:存储方面:raid卡:主机rai...

爱是与世界平行 3752

MySQL 数据库调优基本策略

通过对 SQL语句、DDL、数据库、服务器性能 四个层面,对 MySQL 性能调优进行了总结整理。

u011746586的博客 905

MySQL数据库调优策略

如果MySql的连接数达到max_connections时,新来的请求将会被存在堆栈中,以等待某一连接释放资源,该堆栈的数量即back_log,如果等待连接的数量超过back_log,将不被授予连接资源,将会报错。一个表使用了这些字段的数据类型,若已经删除了表的一大部分数据,或者已经对含有可变长度行的表(含有VARCHAR、BLOB或TEXT列的表)进行了很多更新,则应使用OPTIMIZE TABLE来重新利用未使用的空间,并整理数据文件的碎片。当然,这个值不是越大越好,它的大小取决于内存的大小。

shangjg3的博客 298

MySQL-12.数据库其它的调优策略

不过随着用户量的不断增加,以及应用程序复杂度的提升,我们很难用“”去定义数据库调优的目标,因为用户在不同时间段访问服务器遇到的瓶颈不同,比如双十一促销的时候会带来大规模的;还有用户在进行不同业务操作的时候,数据库的和都会有所不同。因此我们还需要更加精细的定位,去确定调优的目标。如何确定呢?一般情况下,有如下几种方式:我们需要调优的对象是整个数据库管理系统,它不仅包括 SQL 查询,还包括数据库的部署配置、架构 等。从这个角度来说,我们思考的维度就不仅仅局限在 SQL 优化上了。通过如下的步骤我们进行梳理:如

weixin_51918722的博客 216

mysql数据库调优

目录一、MySQL基础知识1.1 表结构(create table)1.2 常用的SQL操作二、问题SQL的定位2.1 全面日志查询2.2 慢SQL日志的生成、分析2.2.1 配置文件在my.cnf2.2.2 慢SQL分析2.3 进程列表查询2.4 SQL运行的步骤2.5 执行计划的查看2.5.1 SQL的执行计划2.5.2 explain 命令分解三、SQL并发问题3.1 锁3.2 事务3.3 并发引起的问题3.4 其它锁问题四、MYSQL基本分析命令五、索引5.1 索引的类型及作用5.2 索引的存储类型

chen250727498的博客 2985

mysql数据库调优 面试_面试-MySQL篇:数据库调优

今天谈谈 MySQL 的调优问题,比较偏项目实战。面试中也喜欢问 “xxx如何优化”的问题,这类问题相对开放,一不小心就变成了送命题,但是风险与机遇并存,假如你能理论结合项目经验给出一个漂亮的回答,让面试官眼前一亮,那么马上你就脱颖而出了。下面我给出了几个面试中常问的问题,你可以结合你的项目经验,一起来试试如何回答这类问题。1. 日常是怎么优化 SQL 的?通过慢查询日志、EXPLAIN 分析查询...

weixin_39564831的博客 1997

【MySQL索引与优化篇】数据库调优策略

数据库调优措施,数据库调优步骤,优化MySQL服务器,优化数据库结构,大表优化,其它调优策略

比尔高特的博客 369
上一篇: spring boot项目中使用swagger2
冷down
博客等级 码龄10年 11粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值