楼主: stay_sun

[辩论] 【大话IT】DBA的痛:SQL优化的讨论(获奖名单已公布)

[复制链接]
论坛徽章:
187
状元
日期:2016-04-28 14:18:17榜眼
日期:2016-04-28 14:18:17探花
日期:2016-04-28 14:18:17进士
日期:2016-04-28 14:18:17举人
日期:2016-04-28 14:18:17红宝石
日期:2012-04-13 17:18:06蓝锆石
日期:2012-02-20 12:20:11紫水晶
日期:2012-04-19 12:49:17祖母绿
日期:2012-02-27 22:10:14海蓝宝石
日期:2012-02-27 16:58:24
71#
发表于 2016-6-22 18:48 | 只看该作者
1、你觉得开发应该深入学习数据库吗?是的话你觉得什么层次比较好,不是的话,为什么?
   开发必须深入学习数据库。必须达到的层次,以设计合理的数据结构,按照有关的规则和原则,写出严谨规范的SQL语句。

2、在你工作中遇到什么样恶心的sql,吐槽下?
   遇到最恶心的SQL,长度达千行,并被多次修改。整个SQL就像一件百纳衣,被无数个补丁所包围。
   
3、你觉得当sql 到达设么层次的时候,你需要让开发必须改sql?
   1. SQL语句存在严重的性能问题。
   2. SQL语句书写严重不规范。
   3. SQL语句逻辑混乱,很难理解。
   
4、大家有没有为了sql跟开发急眼的时候,分享下。
  曾经跟开发为了SQL急眼。要求开发为了提高性能和逻辑清晰,把一条SQL语句,分成几个段落和函数来完成。

使用道具 举报

回复
论坛徽章:
2
秀才
日期:2016-11-07 14:53:13技术图书徽章
日期:2016-11-21 14:57:10
72#
发表于 2016-6-23 10:46 | 只看该作者
本帖最后由 maxwellxu 于 2016-6-23 10:46 编辑

1、你觉得开发应该深入学习数据库吗?是的话你觉得什么层次比较好,不是的话,为什么?
     就目前行业的形式以及自己的体会,开发不需要太深入学习数据库,但是做为dba或者数据库架构应该是给开发制订一些数据库开发规范的。在一些sql的书写上注意。这样在提高系统性能的同时,也降低了后期的维护。我们公司目前就按照这种方式,开发人员呢需要掌握一些常用基本的优化写法,前期开发设计中就拉入有经验的数据库架构、DBA参与系统的设计及相关标准指定,主要是从性能方面把关。术业有专攻,每个人精力有限,没那么多时间,毕竟国内的工作趋势也是这样。每个项目都比较紧。

2、在你工作中遇到什么样恶心的sql,吐槽下?
    最恶心的sq就是有些人sql套sql写到最后,上千行,他自己都不知道了,还抓住我们去优化改写。

3、你觉得当sql 到达设么层次的时候,你需要让开发必须改sql?
     达到通过DBA各种手动优化后,还影响性能,没法达到客户满意度,就只能让开发改写sql了。
国内的话能改写复杂业务sql的DBA不多,DBA一般都偏向技术,复杂的sql,DBA搞不定只能开发搞了。
4、大家有没有为了sql跟开发急眼的时候,分享下。
    没有,大家都是同事,为这些事情没必要,况且有问题通过良好的沟通解决就OK了。

使用道具 举报

回复
论坛徽章:
9
罗罗诺亚·索隆
日期:2016-12-23 09:11:49秀才
日期:2017-01-20 11:00:36秀才
日期:2017-01-20 11:04:31秀才
日期:2017-03-02 10:35:32技术图书徽章
日期:2017-03-02 10:36:07秀才
日期:2017-03-02 10:36:07秀才
日期:2017-03-20 13:42:20秀才
日期:2019-05-24 13:28:53秀才
日期:2019-05-24 13:29:11
73#
发表于 2016-6-23 17:05 | 只看该作者
1、你觉得开发应该深入学习数据库吗?是的话你觉得什么层次比较好,不是的话,为什么?
我觉得开发是需要深入学习数据库的,数据库基础的架构跟数据存取原理得熟悉吧,常用的函数比如分析函数也要熟悉,不然都靠表间连接或者各种临时表会累死,如果说层次的话,我个人觉得可以学习下OCP的课程,也可以阅读ITPUB出版的书籍。

2、在你工作中遇到什么样恶心的sql,吐槽下?
存储过程超过500行,基本上就很难有耐心一次看完了,尤其遇到多层嵌套,上下文里面的别名都是a b c之类没有明显意义的、行之间没有缩进,或者缩进的规律完全看不懂时,真的很受伤,遇到全文没有注释的,能不恶心吗。。

3、你觉得当sql 到达设么层次的时候,你需要让开发必须改sql?
sql跑起来让人感觉到时间的相对论的时候,必须让开发改了。再不改,耐心都被磨完了。

4、大家有没有为了sql跟开发急眼的时候,分享下。
这到没有,不过确实会有因为SQL经常出错,运维那边肯定工作量很大,意见很多的时候,估计有不少运维因为受不了频繁的调度告警邮件跟没有休息的周末而跳槽。

使用道具 举报

回复
论坛徽章:
0
74#
发表于 2016-6-24 16:55 | 只看该作者
謝謝分享 我有空會研究一下

使用道具 举报

回复
论坛徽章:
484
ITPUB北京香山2007年会纪念徽章
日期:2007-01-24 14:35:02ITPUB北京九华山庄2008年会纪念徽章
日期:2008-01-21 16:50:24ITPUB北京2009年会纪念徽章
日期:2009-02-09 11:42:452010新春纪念徽章
日期:2010-03-01 11:04:552010数据库技术大会纪念徽章
日期:2010-05-13 10:04:272010系统架构师大会纪念
日期:2010-09-04 13:35:54ITPUB9周年纪念徽章
日期:2010-10-08 09:28:512011新春纪念徽章
日期:2011-02-18 11:43:32ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412012新春纪念徽章
日期:2012-01-04 11:49:54
75#
发表于 2016-6-25 15:53 | 只看该作者
oracle_cj 发表于 2016-6-12 11:02
1、你觉得开发应该深入学习数据库吗?是的话你觉得什么层次比较好,不是的话,为什么?
答:非常应该,甚至 ...

好无耻,完全拷贝前面人写的

使用道具 举报

回复
论坛徽章:
484
ITPUB北京香山2007年会纪念徽章
日期:2007-01-24 14:35:02ITPUB北京九华山庄2008年会纪念徽章
日期:2008-01-21 16:50:24ITPUB北京2009年会纪念徽章
日期:2009-02-09 11:42:452010新春纪念徽章
日期:2010-03-01 11:04:552010数据库技术大会纪念徽章
日期:2010-05-13 10:04:272010系统架构师大会纪念
日期:2010-09-04 13:35:54ITPUB9周年纪念徽章
日期:2010-10-08 09:28:512011新春纪念徽章
日期:2011-02-18 11:43:32ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412012新春纪念徽章
日期:2012-01-04 11:49:54
76#
发表于 2016-6-25 16:01 | 只看该作者
1、你觉得开发应该深入学习数据库吗?是的话你觉得什么层次比较好,不是的话,为什么?
    不应该,专业的人做专业的事情,开发把自己的代码开发好,这是开发的本职工作。

2、在你工作中遇到什么样恶心的sql,吐槽下?
    2.1)in 里一大堆值,一个in写不下,用or来拼接多个in……
   2.2)乱用内连接外连接
   2.3)关联了与生成结果无关的表,开发表示这是框架生成的……框架泥煤啊!
   2.4)基本没有绑定变量的概念,条件全是值不是变量

3、你觉得当sql 到达设么层次的时候,你需要让开发必须改sql?
   有别字,“设么”应该是“什么”
   3.1)当sql被SQL审核审出问题,经判断确实存在隐患的,必须改
   3.2)当sql存在性能问题,并且sql通过改写可以优化性能时
   3.3)没使用绑定变量编码的sql,不同sql超过1000的必须改

4、大家有没有为了sql跟开发急眼的时候,分享下。
    没有,退一步海阔天空,我心态好。

使用道具 举报

回复
论坛徽章:
484
ITPUB北京香山2007年会纪念徽章
日期:2007-01-24 14:35:02ITPUB北京九华山庄2008年会纪念徽章
日期:2008-01-21 16:50:24ITPUB北京2009年会纪念徽章
日期:2009-02-09 11:42:452010新春纪念徽章
日期:2010-03-01 11:04:552010数据库技术大会纪念徽章
日期:2010-05-13 10:04:272010系统架构师大会纪念
日期:2010-09-04 13:35:54ITPUB9周年纪念徽章
日期:2010-10-08 09:28:512011新春纪念徽章
日期:2011-02-18 11:43:32ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412012新春纪念徽章
日期:2012-01-04 11:49:54
77#
发表于 2016-6-25 16:05 | 只看该作者
nixzmdi1 发表于 2016-6-1 17:11
1、你觉得开发应该深入学习数据库吗?是的话你觉得什么层次比较好,不是的话,为什么?
对于不同的系统应 ...

wmsys.wm_concat别用了,未公开的函数有隐患
ref:http://www.itpub.net/thread-1864267-1-1.html

使用道具 举报

回复
论坛徽章:
737
季节之章:春
日期:2015-07-31 17:16:29ITPUB季度 技术新星
日期:2014-07-17 14:37:00季节之章:秋
日期:2015-07-31 17:16:14季节之章:夏
日期:2015-07-31 17:16:29股神
日期:2014-10-15 09:23:31衰神
日期:2014-10-20 22:47:12季节之章:冬
日期:2015-07-31 17:16:14红钻
日期:2014-12-16 17:51:41洛杉矶湖人
日期:2016-09-23 08:18:15布鲁克林篮网
日期:2016-09-23 08:17:18
78#
发表于 2016-6-26 20:58 | 只看该作者
lastwinner 发表于 2016-6-25 15:53
好无耻,完全拷贝前面人写的

菜鸟啊,写不出来

你的这个眼睛我也是醉了。。。BS

使用道具 举报

回复
论坛徽章:
14
ITPUB9周年纪念徽章
日期:2010-10-08 09:28:52沸羊羊
日期:2015-03-04 14:43:43马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11福特
日期:2013-10-14 21:18:25凯迪拉克
日期:2013-09-23 23:01:572013年新春福章
日期:2013-02-25 14:51:242012新春纪念徽章
日期:2012-01-04 11:49:54ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412011新春纪念徽章
日期:2011-02-18 11:43:33
79#
发表于 2016-6-27 11:32 | 只看该作者
本帖最后由 spider0283 于 2016-6-27 11:33 编辑

DBA调优SQL是重要性仅次于备份&监控的工作。功夫在平时,想晚上不被骚扰就得平时勤快些

使用道具 举报

回复
论坛徽章:
241
至尊黑钻
日期:2015-09-25 14:27:26粉钻
日期:2015-10-16 10:53:36紫钻
日期:2015-10-16 10:53:21红钻
日期:2015-09-25 15:05:50黄钻
日期:2015-10-17 12:23:40绿钻
日期:2015-10-24 10:29:30至尊黑钻
日期:2015-08-14 13:24:07粉钻
日期:2015-10-24 10:30:07紫钻
日期:2015-11-03 22:32:09红钻
日期:2015-11-06 17:21:40
80#
发表于 2016-6-27 12:29 | 只看该作者
1、你觉得开发应该深入学习数据库吗?是的话你觉得什么层次比较好,不是的话,为什么?
我觉得应该是要学习的,首先多学点相关的东西总是没错的,其次就是开发如果深入了解数据库的话,和DBA就更好沟通,做出来的东西就没有那么多麻烦,没有那么多的吐槽了。当然了,你如果没有向数据库方面发展的想法的话,就没必要太深入去学习了,有一个初步的认识,知道一些基本的语法,和注意要点就行了。
2、在你工作中遇到什么样恶心的sql,吐槽下?
我觉得恶心的sql是那种看起来很乱的sql,一眼望下去,让人没有看下去的欲望。
3、你觉得当sql 到达设么层次的时候,你需要让开发必须改sql?
对性能有影响,存在bug,优化的作用不大时,就必须要修改sql了。
4、大家有没有为了sql跟开发急眼的时候,分享下。
没有吧,我这边的分工没那么细的,没有专职dba的。

使用道具 举报

回复

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

本版积分规则 发表回复

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