ITPUB论坛-中国最专业的IT技术社区

 找回密码
 注册
楼主: stay_sun

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

[复制链接]
认证徽章
论坛徽章:
2
秀才
日期:2016-11-07 14:53:13技术图书徽章
日期:2016-11-21 14:57:10
发表于 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了。

使用道具 举报

回复
论坛徽章:
7
罗罗诺亚·索隆
日期: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
发表于 2016-6-23 17:05 | 显示全部楼层
1、你觉得开发应该深入学习数据库吗?是的话你觉得什么层次比较好,不是的话,为什么?
我觉得开发是需要深入学习数据库的,数据库基础的架构跟数据存取原理得熟悉吧,常用的函数比如分析函数也要熟悉,不然都靠表间连接或者各种临时表会累死,如果说层次的话,我个人觉得可以学习下OCP的课程,也可以阅读ITPUB出版的书籍。

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

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

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

使用道具 举报

回复
论坛徽章:
0
发表于 2016-6-24 16:55 | 显示全部楼层
謝謝分享 我有空會研究一下

使用道具 举报

回复
招聘 : 系统分析师
论坛徽章:
483
马上有车
日期:2014-02-18 16:41:11itpub13周年纪念徽章
日期:2014-09-28 10:55:55itpub13周年纪念徽章
日期:2014-09-29 01:14:14itpub13周年纪念徽章
日期:2014-10-08 15:15:25itpub13周年纪念徽章
日期:2014-10-08 15:15:25马上有对象
日期:2014-10-12 11:58:40马上有车
日期:2014-11-16 17:11:29慢羊羊
日期:2015-02-09 17:04:38沸羊羊
日期:2015-03-04 14:43:432015年新春福章
日期:2015-03-06 11:57:31
发表于 2016-6-25 15:53 | 显示全部楼层
oracle_cj 发表于 2016-6-12 11:02
1、你觉得开发应该深入学习数据库吗?是的话你觉得什么层次比较好,不是的话,为什么?
答:非常应该,甚至 ...

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

使用道具 举报

回复
招聘 : 系统分析师
论坛徽章:
483
马上有车
日期:2014-02-18 16:41:11itpub13周年纪念徽章
日期:2014-09-28 10:55:55itpub13周年纪念徽章
日期:2014-09-29 01:14:14itpub13周年纪念徽章
日期:2014-10-08 15:15:25itpub13周年纪念徽章
日期:2014-10-08 15:15:25马上有对象
日期:2014-10-12 11:58:40马上有车
日期:2014-11-16 17:11:29慢羊羊
日期:2015-02-09 17:04:38沸羊羊
日期:2015-03-04 14:43:432015年新春福章
日期:2015-03-06 11:57:31
发表于 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跟开发急眼的时候,分享下。
    没有,退一步海阔天空,我心态好。

使用道具 举报

回复
招聘 : 系统分析师
论坛徽章:
483
马上有车
日期:2014-02-18 16:41:11itpub13周年纪念徽章
日期:2014-09-28 10:55:55itpub13周年纪念徽章
日期:2014-09-29 01:14:14itpub13周年纪念徽章
日期:2014-10-08 15:15:25itpub13周年纪念徽章
日期:2014-10-08 15:15:25马上有对象
日期:2014-10-12 11:58:40马上有车
日期:2014-11-16 17:11:29慢羊羊
日期:2015-02-09 17:04:38沸羊羊
日期:2015-03-04 14:43:432015年新春福章
日期:2015-03-06 11:57:31
发表于 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

使用道具 举报

回复
论坛徽章:
740
红钻
日期:2014-12-16 17:51:41布鲁克林篮网
日期:2016-09-23 08:17:18达拉斯小牛
日期:2016-09-23 08:18:15季节之章:冬
日期:2015-07-31 17:16:14ITPUB季度 技术新星
日期:2014-07-17 14:37:00华盛顿奇才
日期:2016-09-23 08:18:15季节之章:夏
日期:2015-07-31 17:16:29绿钻
日期:2015-08-15 13:20:11最佳人气徽章
日期:2015-03-19 09:44:03洛杉矶湖人
日期:2016-09-23 08:18:15
发表于 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:24ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412012新春纪念徽章
日期:2012-01-04 11:49:542011新春纪念徽章
日期:2011-02-18 11:43:33
发表于 2016-6-27 11:32 | 显示全部楼层
本帖最后由 spider0283 于 2016-6-27 11:33 编辑

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

使用道具 举报

回复
认证徽章
论坛徽章:
242
至尊黑钻
日期: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
发表于 2016-6-27 12:29 | 显示全部楼层
1、你觉得开发应该深入学习数据库吗?是的话你觉得什么层次比较好,不是的话,为什么?
我觉得应该是要学习的,首先多学点相关的东西总是没错的,其次就是开发如果深入了解数据库的话,和DBA就更好沟通,做出来的东西就没有那么多麻烦,没有那么多的吐槽了。当然了,你如果没有向数据库方面发展的想法的话,就没必要太深入去学习了,有一个初步的认识,知道一些基本的语法,和注意要点就行了。
2、在你工作中遇到什么样恶心的sql,吐槽下?
我觉得恶心的sql是那种看起来很乱的sql,一眼望下去,让人没有看下去的欲望。
3、你觉得当sql 到达设么层次的时候,你需要让开发必须改sql?
对性能有影响,存在bug,优化的作用不大时,就必须要修改sql了。
4、大家有没有为了sql跟开发急眼的时候,分享下。
没有吧,我这边的分工没那么细的,没有专职dba的。

使用道具 举报

回复
论坛徽章:
0
发表于 2016-6-27 16:36 | 显示全部楼层
还挺热闹,我也来写两句:
1、你觉得开发应该深入学习数据库吗?是的话你觉得什么层次比较好,不是的话,为什么?
  对我来说,这还是问题么? 不过实际情况可能是现在有些开发分工已经非常细,比如有些专门做前端页面,甚至是前端设计的(也叫开发),对数据库可能就不会有啥要求。 不过对于后台和数据库打交道的开发而言,这确实不应该是问题,这是必须滴。 不谋全局者,不足以谋一隅。虽然现在分工很细了,数据库的设计可能是有专门的开发DBA来做,但如果不懂得设计的初衷和思路,又怎么能够开发出优秀的系统? 对于不求上进混日子的人来说要求就有些高了。

2、在你工作中遇到什么样恶心的sql,吐槽下?
  写的SQL 我估计过上两个星期拿出来他自己都搞不懂。各类嵌套和连接,生怕别人说他不懂数据库,你才不懂,我写的SQL你都看不懂。
  不懂分区,听说分区表在查询时速度快很多,那我们也搞个分区表,你倒是去网上查查学学啊,分区表是建了,结果查询条件中根本没有使用分区键。拿着五角号码字典查拼音?
   现在流行线程编程啊,人家高手都用线程,我要是不用线程显得我太low,十多个线程一开都照着一个表使劲,原来一个人干活,现在我给你十多个人一起干,系统肯定快上天。
   还有碰到一个入行数十年的资深牛叉架构师,流水记录不删除,没有历史表,没过多久,已经超10亿条记录,求大神指点该咋整(10亿记录对运营商而言可能是毛毛雨,求一般解法,投钱买买买就不要说了)。

3、你觉得当sql 到达设么层次的时候,你需要让开发必须改sql?
   这个确实要区分不同情况,没有一定之规,还要受其他外界因素的影响。 开发一般会拿工作量巨大、风险高等来搪塞。

4、大家有没有为了sql跟开发急眼的时候,分享下。
   关键是着急得有用你才能急,要不就是干着急。 去现场定位到问题模块甚至具体SQL,不过现场说这是大牛设计滴,文档也木有,改不了。改不了就改不了,那就继续让客户骂死,把客户惹急眼把公司扫地出门,总不能系统DBA冲上去给人家改代码么? 有能力改好么?改好了你也得罪了一大批。    所以这个世界其实很简单,大家各按其职,守其责,世界就太平。问题是有些人非要把事情搅乱了,把事情混在一起说,所以称之为“混”蛋。

使用道具 举报

回复

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

本版积分规则

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