收获不止oracle在线,重温《收获不止Oracle》

闲在家里,正好重新查缺补漏

第一章:方法论:

第二章:物理体系。回滚段与SCN对读一致性的意义、LGWR只能单进程、频率归档日志会引起数据写入效率下降、Oralce的启动顺序(读参数文件、控制文件、数据文件)

第三章:逻辑体系。段、区、块的概念重新回顾,正好看到行迁移的介绍,然后查网上资料理清了行连接(Chain)、行迁移(Migrate)和行移动(Movement)的区别。 其中Movement主要用于数据闪回、分表列修改、数据块整理,是很有用的特性。如果程序代码中没有暂存Rowid用于业务处理,则可以持续打开Movement。

第四章:表设计。分区表介绍,里边也描述了全局索引失效的注意事项。全局临时表用于简单的计算过程是OK的,而且Redo的量能减少(insert语句也能吗?)。但如果过程比较复杂,最好还是手工管理这种中间表;因为中间库可直接Drop,也可根据业务动态创建多个,互不干扰,还方便事后追查计算过程是否有错。

第五章:索引。Oracle的优化器有时还是不够智能,需要写代码的人提供更精确的意图。如:select min(a), max(a) from t 要换成select ( select min(a) from t, select max(a) from t ) from dual的写法才能更减少逻辑读(虽然CPU的Cost可能变高)。又如书中把所有ID设置成只有20、21后的测试:id >= 20 and id <= 21与id in( 20, 21 ) 的Cost也是不相同的,应该是范围取数的“与”运行代价要大于等值取数。等值查询列在前,范围查询列在后的组合索引效率更高。

还重新看了位图索引,据说这在数据重复度高、更新少的数据方面比较好用。看起来这和列式数据库的原理是一样的嘛,联想到档案汇总统计,如果创建相关的“快照表”,然后在快照表上创建位图索引,是不是就要以达到效果了?这肯定比把所有的统计条件都事先查一轮要节省性能,因为绝大部分的计算结果其实是没人看的呢。

第六章:表连接。执行计划的阅读是从上到下,缩进最深的的开始(象Python?)具体的序号ID不代表顺序。如果最终检索出少量数据,适用于Nested Loops Join,其他才是Hash Join或Merge Sort Join(减少字段可以大幅减少排序所需要的空间)。Nested Loops Join与Hash Join都有驱动表的概念,(驱动表返回多少数据,被驱动表就访问多少次,其中就是代码中的双重循环,就看放谁在外面)

第七、八章:由于有了这1年多的运维经历,再看书中的各种案例也顿时觉得亲切了。排查问题主要是不要轻信任何东西,特别线上的东西经常面临“先搞定,以后再优化”,然后就没有然后了,一直等到系统出现性能问题。书的的办法可以分成几类:代码有没有问题(有无必要、有无写错)、数据有没有必要(能否减小、能否缓存)、性能是否充分运用上了(有无空闲机器)

第九章:提问的智慧。所有的新人其实都应该学会如何提问。

第十章:方法论。碰到问题,先了解现场环境(诊断)。然后了解需求:表面需求、约束条件、真实需求。最后设计:给出改进手段,由于是线上系统,还要给出对应的操作时间、风险策略。

文中特意提到意识和技能,往往新手Dev/DBA只有技能,而管理人员却只有意识,要想真的能快速解决问题,得2方面都强。

第十一章:规范。新人的成长需要过程,就算是老手也会有失误的时候,这时就需要把常见问题、套路(意识)给固化下来,维持一个基本的操作水准。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编辑推荐 方法意识巧妙融入,脑图表格清晰展现; 海量案例完美结合,线上线下拓展延伸。 内容简介 有人就有江湖,有江湖就有IT系统,有IT系统就有数据库,有数据库就有SQL,SQL应用可一字概括:“广”。加之其简单易学,SQL实现也可一字概括:“乐”。 然而,SQL虽然实现简单可乐,却极易引发性能问题,那时广大SQL使用人员可要“愁”就一个字,心碎无数次了。 缘何有性能问题?原因也一字概括:“量”。当系统数据量、并发访问量上去后,不良SQL就会拖跨整个系统,我们甚至找不出哪些SQL影响了系统。即便找到也不知如何动手优化。此时的心情也可以一字概括:“懵”。 现在《收获不止SQL优化——抓住SQL的本质》开始带你抛除烦恼,走进优化的可乐世界! 首先教你SQL整体优化、快速优化实施、如何读懂执行计划、如何左右执行计划这四大必杀招。整这些干嘛呢?答案是,传授一个先整体后局部的宏观解决思路,走进“道”的世界。 接下来带领大家飞翔在“术”的天空。教你体系结构、逻辑结构、表设计、索引设计、表连接这五大要领。这么多套路,这又是要干嘛?别急,这是教你如何解决问题,准确地说,是如何不改写即完成SQL优化。 随后《收获不止SQL优化——抓住SQL的本质》指引大家学会等价改写、过程包优化、高级SQL、分析函数、需求优化这些相关的五大神功。有点头晕,能否少一点套路?淡定,这还是“术”的范畴,依然是教你如何解决问题,只不过这次是如何改写SQL完成优化。 最后一个章节没套路了,其中跟随你多年的错误认识是否让你怀疑人生,其中让SQL跑得更慢的观点,是否让你三观尽毁? 再多一点真诚吧,《收获不止SQL优化——抓住SQL的本质》提供扫二维码辅助学习,是不是心被笔者给暖到了? 读完全书,来,合上书本,闭上眼睛,深呼吸,用心来感受SQL优化的世界。 一个字:“爽”! 京东购买连接:https://item.jd.com/12191576.html

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值