SQL优化最佳实践:构建高效率Oracle数据库的方法与技巧

admin 2022年11月13日 173次浏览

SQL优化最佳实践:构建高效率Oracle数据库的方法与技巧

(副标题):无 ;

(作者): 韩锋 ;

内容简介:

​ 第0章 引言
笔者早年间从事了多年开发工作,后因个人兴趣转做数据库。在长期的工作实践中,看到了数据库工作(特别是SQL优化)面临的种种问题,同时也发现人们在对数据库优化的认识上存在一些误区。
1.面临的问题
·没有专职人员:在很多公司或者说绝大多数公司,没有独立的数据库团队。往往由开发人员完成部分DBA的职责,包括结构设计、SQL优化甚至部分运维工作。受限于自身的精力,开发人员很难做到专业化。
·“赶工期”现象:在项目驱动的公司,经常出现赶工期的现象,而且往往牺牲的就是数据库的设计、评测、优化的时间。常常只是开发完毕后就匆忙上线,直到在线上运行出现问题后才会回头进行处理。但这时往往已经造成了很大的损失。
·话语权不大:数据库团队在公司中或者在项目中,往往话语权不高。在很多产品、项目决策过程中,常常会忽略DBA的声音。
·需求不明:很多项目在设计初期,往往对业务描述很详尽,但对数据库却只字未提。相关数据库的存储量、访问特征、高峰时间的TPS及QPS等往往只有到上线后才有比较清晰的认识。其后果就是往往需要大量优化工作,甚至导致需要对底层架构进行修改,这样最终会导致成本大大提高,有时增加的成本甚至是不可接受的。
·重运维、不重架构设计:有些公司认识到数据库的重要性,但往往只重视运维而忽视了前期的架构设计、开发优化等问题。系统上线后暴露出问题后,只能采取事后补救措施,但这往往会带来高昂的成本。
·盲目优化:有些公司确实很重视SQL优化工作,但又缺乏必要的技术投入。经常见到这样的开发规范——所有WHERE条件字段都必须加上索引。其结果就是数据库被“过分”优化,适得其反。
2.常见误区
·关系数据库已死:近些年来,随着NoSQL的蓬勃发展,有一种观点也逐渐盛行——关系数据库必将死亡,NoSQL将取而代之!随之而来的就是SQL优化没有必要,不必在其上再花费很大力气。N

目录预览:

​ SQL优化最佳实践:构建高效率Oracle数据库的方法与技巧
第0章 引言
第1章 与SQL优化相关的几个案例
案例2 糟糕的结构设计带来的问题
案例3 规范SQL写法好处多
案例4 “月底难过”
案例5 COUNT(*)到底能有多快
案例6 “抽丝剥茧”找出问题所在
第二篇 原理篇
第2章 优化器与成本
2.1 优化器
2.2 成本
第3章 执行计划
3.1 概述
3.2 解读执行计划
3.3 执行计划操作
第4章 统计信息
4.1 统计信息分类
4.2 统计信息操作
第5章 SQL解析与游标
........


[EPUB下载]