楼主: 丸喵喵

讨论送书:收获,不止SQL优化——抓住SQL的本质

[复制链接]
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
71#
发表于 2017-6-19 09:35 | 只看该作者
1. SQL优化可以用到那些性能工具 awr报告 oem
2. 如何缩短SQL调优时间 把常用工具先准备好
3. 影响性能的常见因素 存储 内存 CPU 统计信息 sql写法
4. 学习索引的重要性 知道哪些语句能用索引 哪些操作适合用索引 就能写针对性的sql
5. SQL优化的误区 没找到原因 乱"优化"

使用道具 举报

回复
论坛徽章:
50
2014年世界杯参赛球队: 荷兰
日期:2014-07-11 07:56:59蛋疼蛋
日期:2012-03-06 07:22:542012新春纪念徽章
日期:2012-02-13 15:09:522012新春纪念徽章
日期:2012-02-13 15:09:522012新春纪念徽章
日期:2012-02-13 15:09:522012新春纪念徽章
日期:2012-02-13 15:09:522012新春纪念徽章
日期:2012-02-13 15:09:522012新春纪念徽章
日期:2012-01-04 11:53:29蛋疼蛋
日期:2011-11-11 15:47:00ITPUB十周年纪念徽章
日期:2011-11-01 16:23:26
72#
发表于 2017-6-21 06:41 | 只看该作者
东风玖哥 发表于 2017-5-21 16:10
1.SQL优化可以用到那些性能工具
SQLT:通常用于诊断性能不佳的 SQL 语句。
SQL Profile:SQL的监视工具 ...

缩短SQL调优时间方面,这里很多都过时时了!WHERE 的连接顺序,表名顺序

使用道具 举报

回复
论坛徽章:
50
2014年世界杯参赛球队: 荷兰
日期:2014-07-11 07:56:59蛋疼蛋
日期:2012-03-06 07:22:542012新春纪念徽章
日期:2012-02-13 15:09:522012新春纪念徽章
日期:2012-02-13 15:09:522012新春纪念徽章
日期:2012-02-13 15:09:522012新春纪念徽章
日期:2012-02-13 15:09:522012新春纪念徽章
日期:2012-02-13 15:09:522012新春纪念徽章
日期:2012-01-04 11:53:29蛋疼蛋
日期:2011-11-11 15:47:00ITPUB十周年纪念徽章
日期:2011-11-01 16:23:26
73#
发表于 2017-6-21 06:49 | 只看该作者
xuexiaogang 发表于 2017-5-31 14:29
1. SQL优化可以用到那些性能工具
答:书中提到了一种是不同调优场景的分析,可分为单纯场景的优化和复杂 ...

其实,第2个问题就是故意有歧义的。如何减少解决问题的时间一是一个纬度。不过你说的考验DBA的功底和对系统的熟悉程度就是有一些片面了,我认为要有一些好的方法论输出一些好的工具。比如一键获取数据库所有相关信息,一键获取SQL的所有相关信息(从执行计划到对应表和索引的各种信息),这里无需交互,无需沟通。这里就省下了很多时间了。还有一个角度就是人员的梯队培养,90%的问题都能被一线人员迅速定位主要矛盾,到你手上,只要解决重点就OK了。而不是听到对方不停的描述。当然,再拓展一下思维,就是机器学习,AI优化了,效率秒杀人类,这不是一个未来的事,是一件正在身边发生的事,我也在介入研究中。现在只是什么时候大规模普及而已。这个我们怀着忐忑的心情共同期待吧:)

使用道具 举报

回复
论坛徽章:
40
2014年新春福章
日期:2014-02-18 16:42:02秀才
日期:2015-12-18 09:28:57秀才
日期:2015-12-14 14:51:162015年中国系统架构师大会纪念徽章
日期:2015-09-16 12:54:392014系统架构师大会纪念章
日期:2015-09-16 12:54:392013系统架构师大会纪念章
日期:2015-09-16 12:54:392012系统架构师大会纪念章
日期:2015-09-16 12:54:392011系统架构师大会纪念章
日期:2015-09-16 12:54:392010系统架构师大会纪念
日期:2015-09-16 12:54:39秀才
日期:2015-12-25 15:31:10
74#
发表于 2017-6-21 09:13 | 只看该作者
wabjtam123 发表于 2017-6-21 06:49
其实,第2个问题就是故意有歧义的。如何减少解决问题的时间一是一个纬度。不过你说的考验DBA的功底和对系 ...

大师说的是,或许是环境因素,我经历的几家公司不仅一线人员定位不了,而且告诉了解决方案还不一定能够接受。而且现在单位开发是外包的,比较混乱,想怎么做就怎么做。没有章法,遇到问题目前只能让他说说怎么想的?然后再纠正他们。我想前期介入,基本不予理睬。

使用道具 举报

回复
论坛徽章:
40
2014年新春福章
日期:2014-02-18 16:42:02秀才
日期:2015-12-18 09:28:57秀才
日期:2015-12-14 14:51:162015年中国系统架构师大会纪念徽章
日期:2015-09-16 12:54:392014系统架构师大会纪念章
日期:2015-09-16 12:54:392013系统架构师大会纪念章
日期:2015-09-16 12:54:392012系统架构师大会纪念章
日期:2015-09-16 12:54:392011系统架构师大会纪念章
日期:2015-09-16 12:54:392010系统架构师大会纪念
日期:2015-09-16 12:54:39秀才
日期:2015-12-25 15:31:10
75#
发表于 2017-6-22 17:28 | 只看该作者
喵喵这个还没公布吗?

使用道具 举报

回复
论坛徽章:
218
弗兰奇
日期:2016-05-31 16:31:17妮可·罗宾
日期:2016-07-04 11:53:09托尼托尼·乔巴
日期:2016-05-31 16:31:17山治
日期:2016-05-31 16:31:17乌索普
日期:2016-05-31 16:31:17娜美
日期:2016-05-31 16:31:17罗罗诺亚·索隆
日期:2016-05-31 16:31:17蒙奇·D·路飞
日期:2016-05-31 16:31:17乌索普
日期:2016-08-03 10:26:32娜美
日期:2016-08-08 14:57:54
76#
 楼主| 发表于 2017-6-22 17:40 | 只看该作者
xuexiaogang 发表于 2017-6-22 17:28
喵喵这个还没公布吗?

准备让作者选出获奖者~ 再等一下

使用道具 举报

回复
求职 : 数据库管理员
招聘 : Java研发
论坛徽章:
6402
娜美
日期:2021-10-12 20:11:36技术图书徽章
日期:2021-09-30 12:11:1120周年集字徽章-年	
日期:2021-09-30 12:12:5820周年集字徽章-20	
日期:2021-09-30 12:43:0619周年集字徽章-周
日期:2021-09-30 13:18:3120周年集字徽章-20	
日期:2021-09-30 16:44:1219周年集字徽章-周
日期:2021-09-30 17:01:04技术图书徽章
日期:2021-09-30 17:59:14技术图书徽章
日期:2021-10-06 10:36:4019周年集字徽章-19
日期:2021-10-06 14:43:24
77#
发表于 2017-6-22 17:50 | 只看该作者
丸喵喵 发表于 2017-6-22 17:40
准备让作者选出获奖者~ 再等一下

喵喵~~

使用道具 举报

回复
论坛徽章:
0
78#
发表于 2017-6-23 15:57 | 只看该作者
wabjtam123 发表于 2017-6-21 06:49
其实,第2个问题就是故意有歧义的。如何减少解决问题的时间一是一个纬度。不过你说的考验DBA的功底和对系 ...

如果AI介入效率可观,那以后要学的东西更艰巨了。
但目前经验和对系统的熟悉度越高,定位的效率才高,否则都是会诊讨论然后用户定夺解决方案

使用道具 举报

回复
论坛徽章:
0
79#
发表于 2017-6-27 17:30 | 只看该作者
“授人予鱼不如授人予渔”,“临渊羡鱼,不如退而结网”;
《收获不止SQL优化》带我们织好一张“网罗万象”的网;
网住了工具箱,网住了方法论;六脉神剑,剑指冰山;
剑破冰山、收获不止Oracle、收获不止sql优化,更收获一道登顶大师之道的天梯。

使用道具 举报

回复
论坛徽章:
0
80#
发表于 2017-9-22 17:39 | 只看该作者
1. SQL优化可以用到那些性能工具
开发阶段:
  SQL Profile
运维阶段:
  ASH,AWR,ADDM,AWRDD,AWRSQRPT, SQLTRPT(sqltrpt.sql), 10046,10053,SQL Tuning Advisor、sql monitor、sql trace
  v$sql, v$sqlarea, dbms_xplan.display_cursor(awr), ash, awr   
  
2. 如何缩短SQL调优时间
定位SQL:
  SQLTRPT(sqltrpt.sql),快速定位libary中及awk库中的TOPSQL,并且给出调优建议。
  
定位SQL之后:
  观察执行计划的异常处(统计信息是否准确及时)
  查证数据集合的access方式,关注full等
  查证集合的join方式,尽量避免笛卡尔
  
   
3. 影响性能的常见因素
(1)数据库安装及参数随意修改
(2)SQL写的不规范
(3)逻辑数据库和表设计不合理
(4)无索引或索引设计不合理
(5)统计信息不准确
(6)可以批量处理的(bulk collect,forall),而采用单条处理

4. 学习索引的重要性
(1)学习索引的结构有助于建立各种索引,如位图索引在数据仓库中的应用
(2)可以提高检索速度,同时也会降低DML的数据及空间浪费。
(3)可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。
(4)在使用分组和排序 子句进行数据检索时,也可以提高性能。
(5)通过位图索引可以实现星型转换。
(6)通过创建唯一性索引,可以提高性能和提供数据约束。

5. SQL优化的误区
(1)没有遵从 OS->Session->SQL 逐级排查
(2)没有定位到主要问题,就开始优化,一开始方向就可能错了
(3)随意增加hint
(4)没有从业务上优化
(5)优化是无止境的
(6)也许可以不做这个业务或者从小表中获取到数据

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表