你如何继续提高你的SQL技能?

时间:2008-09-19 12:26:34

标签: sql-server

SQL开发人员如何跟上SQL世界中的当前技术和趋势?是否有任何博客,书籍,文章,技术等用于保持最新和知名度?

对于OO,程序和功能程序员来说,他们有很多机会参与各种开源项目,但在我看来,对于SQL开发人员而言,FOSS大道更加封闭。

思想?

22 个答案:

答案 0 :(得分:7)

答案 1 :(得分:3)

我撇开了答案,显然没有人提到过Stephane Faroult的工作。

我强烈建议你应该考虑“SQL的艺术”(http://www.amazon.com/Art-SQL-Stephane-Faroult/dp/0596008945),我发现它非常有趣,而且 - 令人惊讶的是,甚至读起来都很有趣。

答案 2 :(得分:3)

关于SQL语言的事情是它几乎是一个静态目标。很快,您正在寻求增加对集合论和问题域本身的理解,而不是语言的细节。

真正的肉是在语言的任何一方,在数据库本身(如何存储,检索和组织大型数据集)或在应用程序中(与ORM等)

答案 3 :(得分:2)

http://sqlblog.com/

怎么样?

答案 4 :(得分:2)

Joe Celko的SQL Puzzles and AnswersSQL for Smarties是两本最好的通用SQL书籍。两者都是很好的资源,可以为您提供有关您曾经认为需要游标或某个客户端库来完成的棘手问题的想法。对于任何真正感兴趣的SQL极客,这些书也非常适合随意阅读,而不仅仅是桌面参考。两个竖起大拇指。

答案 5 :(得分:2)

我通过分析缓慢和复杂的查询以及寻找改进它们的方法来改进。这可以通过分析查询计划工具并查找瓶颈在SQL Server中完成。另外,我发现Visual Quickstart Guide指南有助于快速参考。

答案 6 :(得分:1)

SQL中没有当前的技术和趋势。只有你应该已经知道但不的东西。学习那些东西的正确方法是痛苦......太痛苦了。

答案 7 :(得分:1)

加入您使用的DB风格的邮件列表...或潜伏在stackoverflow上;)

答案 8 :(得分:1)

大多数“当前”的东西不是SQL本身,而是数据库如何存储信息,以及如何更快地检索它。看看这个其他主题:What are some references, lessons and or best practices for SQL optimization training

唯一真正的优势在于查询规划,索引结构,排序算法等等,而不是SQL本身。

答案 9 :(得分:1)

您提出此问题的事实已经是一个好兆头。避免自满是“建议#1”。编写和优化SQL是无可替代的。实际使用是保持锋利的最佳方式,但存在“森林树木”场景的风险,我们倾向于使用舒适和熟悉的东西。尝试新的策略,检查新的方法,寻找新的方法来训练我们的大脑来思考集合,SQL,关系理论,并保持我们所采用的特定方言的新发展,这些都是优秀SQL开发人员的标志。

这些天有很多好的博客。我主要在微软的竞技场工作,所以我喜欢SQLTeam.com

Usenet是一个闲逛并做出贡献的好地方。有许多与SQL相关的新闻组。通常情况下,你会发现解决别人的问题有助于你学习一种新的策略,或者迫使你去研究你每天都不会遇到的语言的尘埃落定的角落。互联网服务提供商似乎注定要关闭所有的Usenet,因为恶意使用,所以这可能会像渡渡鸟一样。

此外,一些IRC服务器有一个充满活力的sql频道,你可以在这里做出同样的差异(只需要带上厚厚的皮肤)。

最后,这个网站可能是另一个悬挂的地方,您可以在这里阅读难题的答案,了解这可能适用于您自己的世界,实践技术并将其内化。也有贡献,因为看到其他人如何向上或向下投票你的解决方案是100%纯诚实的反馈。

当然,那里也有许多精彩的书。 Celko的任何东西都是赢家,而在SQL Server方面,Kalen Delaney和Ron Soukup已经写了一些获奖者。

答案 10 :(得分:1)

虽然不是SQL Server专家,但总的来说,我发现基于社区的事件是跟上当前模式的好方法。参与开发人员/ DBA / Marketing Pros / 插入专业社区的基本结果是,您正在学习新的思维模式和锻炼批判性思维。无论你是专业人士,这都是一种成长的好方法。

答案 11 :(得分:0)

我遇到的最好的事情是研究其他人的SQL代码。特别是遗留业务代码。你想要针对某些事情测试你的技能,开始改变一些别人不懂的“伏都教代码”。 :)

除此之外,我只是试着关注SQL新版本的变化,看看有什么我可以利用的。

答案 12 :(得分:0)

使用phpmyadmin时的微笑提示 它很好而且冗长

答案 13 :(得分:0)

这是一个有一些有趣的SSIS信息。 http://blogs.conchango.com/jamiethomson/default.aspx

Wiki中也有一些很好的信息: http://wiki.lessthandot.com/index.php/Main_Page

对于那些认为SQL永远不会改变的人,SQL Server 2005和2008在T-SQl上有一些巨大的变化,这将有助于解决一些在SQL Server 2000中可怕的难题,并且一旦你学习了新的东西就会更容易语法,所以是的,有东西要跟上。

此外,性能调整和SSIS是非常复杂的主题,需要学习很多。

我确实发现那些选择不学习高级SQL技能的开发人员往往会编写性能不佳的SQL代码,一旦他们的数据库中的记录数量增加,他们编写的应用程序往往变得非常缓慢,很难解决这个问题。点。现在,我正在与开发人员一起修复他们编写的一些错误代码,这些代码几乎在每个查询中都会导致网站超时。显然,现在这是一个紧急情况,如果开发人员具有更好的SQL技能,那么在开始时以更有效的方式编写代码会很容易。

答案 14 :(得分:0)

我从未听说过“SQL开发人员”这个词。 SQL应该是您工具箱中的一项技能,如排序,您喜欢的任何框架,JavaScript等。继续提高SQL技能以继续使用它的最佳方法。

答案 15 :(得分:0)

作为一名开发人员,而不是DBA,我会密切关注各种开发人员资源,这通常与数据库相关,但我并没有特别“努力跟上”。

我知道很多,但我也知道还有很多事要知道。在每个项目中,我都必须学习新的东西。每个项目也涉及我采取不同的方法来完成我过去遇到的类似任务。

我是否应该进入我认为我一直都在做同样事情的阶段,也许我会尽一切努力采取具体步骤。但是目前,在可预见的未来,我正在学习有机,在职,以及我的项目所要求的。

答案 16 :(得分:0)

读:

书籍 - Celko(也读到了一些Oracle偏见的书籍) 博客 - 上面提到的,再加上SSWUG

网络研讨会和会议 - 跟上特定供应商特定内容的最佳方式 SSIS / SSRS / SSAS

实践:

改善代码(我和其他人)

重构

指导/培训其他开发人员

答案 17 :(得分:0)

老实说,这是你随着时间的推移变得更好的事情之一。尽可能多地阅读以了解可能的内容。有些事情需要一段时间才能真正理解。很长一段时间我被子查询吓到了,直到我几乎别无选择,只能使用它们。

当你获得更多的经验并需要做更复杂的事情时,你就会学会自己的方式。

答案 18 :(得分:0)

SqlServerCentral - 文章,脚本和建议的重要来源

不幸的是访问您需要注册的文章(虽然它是免费的)
我想他们可以从StackOverflow中学到的一件事就是删除login barrier

答案 19 :(得分:0)

我们写了一个full tutorial,您可以在separate site测试您的SQL技能(也是由我们创建的,为了完整声明)。

答案 20 :(得分:-1)

SQL开发人员,还是DBA?

除了在日常工作中学习SQL的不同方言(Oracle,SQL Server等)之外,SQL实际上并没有那么多改变。当你开发技能时,你可以引入更高级的概念,找出实现存储过程的位置等等,但最后它只是SQL。最重要的是让您的架构正确且可维护。

现在管理数据库是一个完全不同的事情,有一系列工具,数据库软件本身每隔几年就会更新一次。 Oracle至少拥有可能包含大量信息和示例以及最佳实践场景的新闻通讯,网站和杂志。

答案 21 :(得分:-5)

说实话,我认为不需要极端的SQL技能。一旦我可以创建事务(用于数据库一致性)和基本触发器(用于跨表一致性),我通常很好地保留程序中的程序逻辑...而不是将它放入我正在使用的任何数据库中。我不太了解SQL值得深入研究的一生,与通用编程不同,后者不断深入扩展。