日期:2014-05-17  浏览次数:20423 次

求评价!写以下SQL人员在各位眼中是个什么水平?
Select W_CKZB.*, Case When IsNull(CJYS_DDZB.YWBH,'') <> '' Then CJYS_DDZB.YWBH Else CJYS_DDGLB.YWBH End YWBH
  From W_CKZB
Left Join (Select ID, YWBH From CJYS_DDZB) As CJYS_DDZB On CJYS_DDZB.ID = W_CKZB.CYDID 
Left Join (
Select W_CKHWB.CKZBID, DDGLB.YWBH From W_CKHWB Inner Join (Select ID, YWBH From CJYS_DDGLB) As DDGLB On DDGLB.ID = W_CKHWB.DDGLBID 
Group by W_CKHWB.CKZBID, DDGLB.YWBH
) As CJYS_DDGLB On CJYS_DDGLB.CKZBID = W_CKZB.ID


不看数据表的关系,通过以上语句语法,各位评定下,写这个sql的人是个什么水平?
sql

------解决方案--------------------
比我水多了的水平
------解决方案--------------------
最起码会写sql的人,至于性能,目测不怎么样
------解决方案--------------------
谈不上水平

https://passport.csdn.net/account/login
------解决方案--------------------
简单来说,是一个可以完成任务,可以要他加班的人,但是当不了一个高层次的程序员
------解决方案--------------------
一般水平.
LZ想干嘛?
------解决方案--------------------

我也是这样的水平,看来是水平不怎么样啊!!!!
------解决方案--------------------
你猜对了,常见的问题就是你觉得的这些问题
------解决方案--------------------
建议LZ了解一下数据库性能优化方面的书..

当然,仅仅有技术不一定就能优化的,最好要结合一下业务逻辑进行分析和优化.
------解决方案--------------------
每个人都是一步一步走过来的。
------解决方案--------------------
当然没有快速的途径,我从数据库给几个个人意见,有些是工作中的总结,排名不分先后:
1、开发sql时,不要用面向过程的思想,比如游标、循环,除非你实在不会。
2、设计,多花点时间吧,这个真的太要命了。
3、注释,不多说了。
4、每个人肯定都由简单的sql开始学起的,但是一边写一边思考很重要,很多人为了完成任务,最终却因为性能过于低下,有些时候甚至无法部署,结果就是没有完成任务。得不偿失。
5、多和你觉得厉害的人交流,这个倒是快速路径。
6、有时候可以用空间换时间的方法来临时解决一些性能问题,比如把经常需要计算的东西,评估是否有必要预先或者定期存起来。