• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

实例讲解数据库优化

mysql 搞代码 4年前 (2022-01-09) 16次浏览 已收录 0个评论

从网上去搜数据库优化基本都是从SQL层次进行优化的,很少有提及到数据库本身的实例优化。就算有也都是基于某个特定数据库的实例优化,本文涵盖目前市面上所有主流数据库的实例优化(Oralce、MySQL、POSTGRES、达梦),按照文章的配置能够将你数据库性能用到80%或以上。

数据库优化方法论

这部分为理论知识,不感兴趣的同学可以直接跳到后面参数配置部分。

数据库优化目标

推荐 《mysql视频教程》

根据角色的不同,数据库优化分为以下几个目标:

业务角度(关键用户):

减少用户页面响应时间

数据库角度(开发):

减少数据库SQL响应时间

数据库服务器角度(运维):

充分使用数据库服务器物理资源

减少数据库服务器CPU使用率

减少数据库服务器IO使用率

减少数据库服务器内存使用率

指标

1. SQL平均响应时间变短

a. 优化前:数据库平均响应时间500ms

b. 优化目标:数据库平均响应时间200ms

2. 数据库服务器CPU占用率变少

a. 优化前:数据库高峰期CPU使用率70%

b. 优化目标:数据库高峰期CPU使用率50%

3. 数据库服务器IO使用率变低

a. 优化前:数据库IO WAIT为30%

b. 优化目标:数据库IO WAIT低于10%

数据库优化误区

在进行数据库优化的时候可能会有以下几个误区:

1. 优化之前一定要深入了解数据库内部原理

优化是有“套路”的,照着这些“套路”你也可以很好的完成数据库优化

2. 不断调整数据库参数就可以最终实现优化

有时候设计不合理怎么调整参数都不行

3. 不断调整操作系统参数就可以最终实现优化

同上

4. 数据库性能由应用、数据库架构决定,与应用开发关系不大

恰恰相反,应用开发的关系很大

5. 必须要做读写分离,必须要弄分库分表

数据量级只有达到一定的比例才有必要做读写分离,分表分库,否则徒增复杂度。一般来说Oracle的单表量级可以达到1亿,MySQL到1000万~2000万

数据库优化流程

完整的数据库优化流程如下:

首先需要尽可能的了解优化问题,收集问题期间系统信息并做好存档。根据当前系统问题表现制定优化目标并与客户沟通目标达成一致;通过一系列工具分析系统问题,制定优化方案,方案评审完成后由各负责

本文来源gao!%daima.com搞$代*!码$网9

人员进行实施。若达到优化目标则编写优化报告,否则需要重新制定优化方案。

数据库实例优化

数据库实例优化遵循三句口诀:日志不能小、缓存足够大、连接要够用。

数据库事务提交后需要将事务对数据页的修改刷( fsync)到磁盘上,才能保证数据的持久性。这个刷盘,是一个随机写,性能较低,如果每次事务提交都要刷盘,会极大影响数据库的性能。数据库在架构设计中都会采用如下两个优化手法:


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:实例讲解数据库优化

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址