mysql的优化层面详解【学习笔记】

本文详细探讨了MySQL数据库的优化,从商业需求到系统架构,再到SQL与索引、数据库表、系统配置和硬件配置的优化。强调了在早期阶段介入优化的重要性,指出商业需求的合理性评估、数据类型的合适选择、SQL优化以及根据应用类型设计表结构等关键点。硬件配置中,IO线程和CPU性能对数据库性能起决定作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysq|数据库优化层面


图解优化层面

在这里插入图片描述
商业需求
产品经理+项目经理【参与】
系统架构:
项目经理+系统架构师【介入】
SQL及索引:
【开发阶段】开发人员【关注】
数据库表结构:
开发人员【关注】
系统配置+硬件:
DBA(数据库管理员)+运维【关注】

总结:
越早介入越好!
越往后,成本越高!


商业需求

在这里插入图片描述
背景:
做需求的时候,不容易界定【需求是否合理】。

技术人员怎么来证明一个需求是否合理?
每次和产品经理提出新项目的时候,要求他们同时比出该项目的预期收益量化指标,为项目统计评估投入产出比例…


系统架构

在这里插入图片描述
【问题1】
数据库最适合存放一些字符串类型的数据
哪些数据不适合在数据库里存放:
二进制多媒体数据(消耗CPU资源)
流水队列数据
超大文本数据

【问题2】
有哪些数据应该放到Cache里:
系统配置数据(变动频率低,访问概率非常高)
用户的基本数据
总结:
变动频率低
比较常用的
访问概率非常高


SQL及索引优化

【开发人员需要重点关注】
在这里插入图片描述
应该用JOIN ON,先执行ON后面的条件,把符合条件的拎出来。


数据库表优化

在这里插入图片描述
【1】
做到第三范式就差不多了。
适当做一些冗余对查询是有所提升的。

作数据库表设计的时候,看应用系统究竟是OLTP系统还是OLAP系统。
对于OLTP系统:增删改比较多

做一些大数据,查询比较多的,可以适当走一些冗余。


系统配置优化

在这里插入图片描述
可以找公司的运维人员,他们用经过长期的,成熟的系统得到的经验,制定并整理了一套配置脚本,可以把脚本拿过研究一下。❤


硬件配置优化

在这里插入图片描述
【1】
对系统所有的优化,绝大部分是在IO层面,其次是CPU层面。
IO线程的优劣直接决定性能的高低。

【2】
IO和CPU这两个指标不仅是在数据层面重点考量,在应用层面也要重点考量。

【3】
网络处理能力(IO/CPU/网络)

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值