论坛上的数据库爱好者们,对于数据库底层的各种细节,内幕,等待事件,隐藏参数等津津乐道,对于调整好一条SQL语句使之在查询优化器/查询引擎下能高性能运转具有巨大的满足感成功感,仿佛自己掌握了天下最有价值的真理,驾驭了天下最有难度的技术。但对于设计和开发出这个数据库系统的人来说,他们看到此情此景,只好躲在一边偷偷的笑了。那么问题来了,使用别人数据库的人被称为大师(如:OCM),那么自己写出一个数据库来的人又该称为什么呢?到底谁才是真正的高手呢?

数据库系统优化中的一些观点:
“系统性能出现问题进行优化,一定要深入了解数据库内部参数、等待事件、Latch、缓冲池、trace文件、查询/优化引擎等底层细节。”
这种观点往往出自数据库“高手”,这部分人以了解数据库底层实现细节而感到非常骄傲。但是从优化角度讲数据库的等待事件、Latch等指标高等等都只是问题的表象,懂得底层细节和内幕固然是好。但是解决问题的关键往往是在应用层进行优化。

“只要系统参数调整了,性能就能提高。系统优化应该调整那些参数…”
这种观点往往出自于一些偏运维和应用层的DBA,迷恋参数配置来调优。
调整系统参数是非常重要的,但不一定能解决性能问题,否则就不会有去IOE了,问题可能性最大的还是应用设计和开发问题。
同理,很多运维人员和系统架构师比较迷恋“Linux系统调优”。认为对“文件句柄数、磁盘子系统…”那些做了优化,就能提升整个应用系统的性能。其实不然。有些场景下,针对业务特点和应用类型做操作系统调优是能取到立竿见影的效果,但是大多数时候往往提升并不明显。所以最关键的还是找出瓶颈所在,对症下药。*/

“系统性能问题需要从架构上解决,与应用开发关系不大。”
系统性能与各个层面都有关,架构很重要,但应用开发也是非常重要的一环。

影响数据库性能的因素
1.业务需求和技术选型
2.应用系统的开发及架构
3.数据库自身
3.1表结构的设计
3.2查询语句
3.3索引设计
3.4Mysql服务(安装、配置等)
3.5操作系统调优
3.6硬件升级(SSD、更强的CPU、更大的内存)
4.数据架构(读写分离、分库分表等)

在很多情况下,数据库可能是互联网应用系统的瓶颈。但是单纯从数据库角度去做优化,可能未必能达到理想的效果。

说点题外话,最近看到很多公司使用中间件或者分布式数据访问层来做数据库分片,说明也许该公司业务发展很快。但另一个方面,也令人担忧,他们的数据库压力真的已经到了必须切分不可的程度了吗?分库分表真的像科普的那么简单吗?他们能搞定分库分表带来的成本和问题吗?有没有更合适的优化方法呢?
当然是有的。其实“过度设计”和“提前优化”就是系统万恶之源。

影响数据库性能的因素相关推荐

  1. mysql中影响数据库性能的因素讲解

    mysql中影响数据库性能的因素讲解 在本篇文章中我们给大家讲述了mysql中影响性能的因素以及相关知识点内容,有兴趣的朋友参考下 关于数据库性能的故事 面试时多多少少会讲到数据库上的事情," ...

  2. 打造扛得住的MySQL数据库架构-第一课--影响数据库性能的因素

    连接数,并发量 500 服务器连接错误 磁盘IO: 网卡流量: 1000MB 什么的表才叫大表??? 超过千万行,10G 大表的影响: 大表对DDL操作的影响 修改表的结构需要长时间锁表 5.5和版本 ...

  3. Oracle中用system存数据,【学习笔记】Oracle表空间 数据存放system表空间影响数据库性能...

    天萃荷净 分享一篇,关于Oracle数据库system表空间研究,不能将用户数据存放在system表空间的原因 为什么不建议客户把业务数据存放到SYSTEM表空间中,一直想通过试验的数据来说明问题,今 ...

  4. 不要让临时表空间影响数据库性能

    一般Oracle数据库(Oracle Database)可以分为两部分,即实例(Instance)和数据库(Database). 实例:是一个非固定的.基于内存的基本进程与内存结构.当服务器关闭后,实 ...

  5. 影响钕铁硼性能的因素及方法

    钕铁硼永磁材料自问世以来,就以其优越的磁性能而备受关注,被称为"磁王",在市场需求的不断地增长下,钕铁硼生产工艺及磁体性能也不断发展和提升.我们一般用剩磁.矫顽力和最大磁能积这几个 ...

  6. 在循环里创建数据库连接,严重影响数据库性能

    在循环里面去操作数据库肯定会慢的,而且还容易碰到新手,在循环里面创建数据库连接,会导致连接数满.一般查询的话,在外层一次性查询出来 然后 在逻辑层去循环组织数据.如果是新增,则可以考虑使用批量插入的方 ...

  7. 影响流水线性能的因素

    (1)互锁 在典型的程序处理过程中,经常会遇到这样的情形,即一条指令的结果被用做下一条指令的操作数,下面通过一个简单的例子说明了在流水线上产生互锁. 有如下指令序列: LDR r0,[r0,#0] A ...

  8. 数据库性能优化的误区!

    作者:丁码农 来源:www.cnblogs.com/dinglang 常见的数据库系统优化中的一些观点: "系统性能出现问题进行优化,一定要深入了解数据库内部参数.等待事件.Latch.缓冲 ...

  9. 传统关系型数据库性能优化全攻略

    影响数据库性能的因素 业务需求层面 不合理的需求 论坛发帖数实时更新select count(*) from table 深翻页 比如查询第1万页的内容冷数据加载到内存热数据被swap出去了目前基本已 ...

最新文章

  1. Pytorch Lightning 完全攻略!
  2. Zxing 竖屏切换 android
  3. 图的两种遍历算法——BFS和DFS
  4. python中零碎的一点东西
  5. python3精要(31)-生成器函数yield
  6. cowboy源码分析
  7. B+树 -- MySQL数据库索引
  8. Ubuntu Sublime Text 3 搜狗拼音
  9. 7-49 判断素数 (10 分)
  10. 解决Vmware虚拟机中没有网络连接Ubuntu无法上网
  11. 【性能】雅虎军规(14条常用)笔记
  12. linux的前端环境搭建-安装配置git客户端与github连接
  13. 奥西400服务器维修,奥西tds400驱动
  14. 进击的Libra:路在何方?中国应如何应对?
  15. ElementUI 整体页面布局
  16. 易宝正式加入openGauss社区
  17. 《深入浅出MFC》观后有感
  18. OSChina 周一乱弹 —— 终于可以尝尝冷水泡面了
  19. UG NX 12 基准平面
  20. 按键控制两位数码管加减

热门文章

  1. ES6新特性:Javascript中的Reflect对象
  2. 好莱坞电影公司系列电影
  3. 利用GetPrivateProfileString读取配置文件(.ini)
  4. 搜索引擎优化(独立阐述)
  5. 《设备调试与网络优化》教学讲义(二)
  6. windows7x64安装小记
  7. LTE: 下行HARQ进程数目的来源。
  8. 架构师之路 — 分布式系统 — gRPC 谷歌远程过程调用
  9. API Gateway
  10. 电感和磁珠的区别及应用场合和作用