《现实环境下的数据库性能优化》.pdf
文本预览下载声明
Disclaimer
THE FOLLOWING IS INTENDED TO OUTLINE OUR
GENERAL PRODUCT DIRECTION. IT IS INTENDED
FOR INFORMATION PURPOSES ONLY, AND MAY
NOT BE INCORPORATED INTO ANY
CONTRACT. IT IS NOT A COMMITMENT TO
DELIVER ANY MATERIAL, CODE, OR
FUNCTIONALITY, AND SHOULD NOT BE RELIED
UPON IN MAKING PURCHASING DECISION. THE
DEVELOPMENT, RELEASE, AND TIMING OF ANY
FEATURES OR FUNCTIONALITY DESCRIBED FOR
ORACLES PRODUCTS REMAINS AT THE SOLE
DISCRETION OF ORACLE.
Insert Picture Here
现实环境下的数据库性能优化
Andrew Holdsworth Zhuo Qu
Real World Database Performance
Server Technologies
数据库性能现状
• 现在大多数数据库系统的在编码阶段已经优化,其性
能可以满足客户的需求
• 为什么?
• CPU的处理能力不断增长
• 64-bit 计算和内存价格的降低
• 即使低效率的应用都可以在内存中运行
数据库性能现状
• 数据库竞赛的规则正在改变
• 数据库不再适合放入缓存运行
• 数据库大小以几何级数增长
• 64位环境越来越流行
• 可靠性的需求变得越来越严峻
• 通常性能的提高是容易的
• 保持系统的可靠性是困难的.
• 如果要取得成功,我们应该关注数据库的工程
学基础而不是把赌注放在新特性和硬件的升级
当前数据库性能所面临的挑战
OLTP
• 事务变得更加复杂
• 消耗更多的CPU
• 需要更多的I/O
• 事务处理的频率越来越高
• 用户的期望变得越来越苛刻
• 要求99%统计值是单一的逻辑处理而不是平均值
• 多数数据库不能再完全放入缓存中
• I/O 规划是成功的数据库的一部分
• 数据库日益因中间件和体系结构的不良设计而备受诘
难
• 可靠性的需求限制了数据库发挥出最高的性能
当前数据库性能所面临的挑战
Data Warehouse
• 当前的趋势是数据库的设计工作量和大量的廉价硬件
来解决问题
• 这意味着要有良好的容量规划尤其是在I/O方面
• 在很多案例中许多Oracle先进的特性特意没有被使用和
开发出来
• Oracle作为单一的套装软件供应商做了很多客户应该做
的规划和打包工作而受到诘难
• Oracle很多客户天真地认为大表的扫描操作可以通过硬
件的提高来满足要求
真实世界数据库性能的一般反馈
• 性能问题的根源分析
• 根本原因通常是难以理解的
• 过多的强调平台的性能调整和初始化文件的的调整
• 这些调整带来的提高小于 10%. 一个好的性能调优工程师总是
在追求获得最大的性能提高
• 没有足够地关注SQL 语句的调整( optimization and
quality )
• 性能问题常常被认为是神秘和困难的.
• 你应该使用一个经过设计,建库和测试过的Oracle数据
库
• 这意味着使用缺省的数据库配置参数
• 不存在一个db_speed = FAST 这样的参数
数据库性能基础
• 总的来说目前对数据库性能而言有四个基本的核心
• Schema 设计和SQL语句
• 应用设计包括如下核心规则
• Schema 设计( Tables, Indexes, Data Types, Partitions,
Aggregates)
• SQL 语句
显示全部