第一图书网

Microsoft SQL Server 2008技术内幕:T-SQL查询

本·甘(ItzikBen-Gan) 电子工业出版社
出版时间:

2010年9月  

出版社:

电子工业出版社  

作者:

本·甘(ItzikBen-Gan)  

页数:

583  

译者:

成保栋 李保强  

Tag标签:

无  

前言

  我以前短暂地见过几次Itzik Ben-Gan,久闻他的大名,所以很期待在PASS的一次下午会议中听他介绍如何在SQL编程中避免使用游标。很幸运,我提早到了那里,随后会议室里就挤满了人。Itzik带来了两个SQL编程问题,他用娴熟的技巧和有趣的方式,将它们轻松玩弄于股掌之间,展示了面向合集的思维是多么优雅和高效。听众们喜欢这种思维方式,我也一样,只是我从另一个角度来看待这些。因为我对SQL Server的内部机制已经有所了解,所以我能看得出来,Itzik在他的演示中已经触及了SQL Server的神经,很欣赏他能把SQL Server的一些特性转变成漂亮的解决方案。会后,我问一位听众,他的主要收获是什么,很好奇众多技术中的哪些能给他留下深刻印象。这位听众打量了我一下,稍微有些吃惊,接着只说了一句话:“这个人是个天才!”——总结得多么好的一句话。  游标问题要比它表面看起来的更加基础。它反映了两种思维方式的深刻分化,具有巨大的实际重要性。我们当中的大多数人接受的教育是,在编程时,要把一个任务细分成多个更小的步骤,按一定的顺序执行程序,进行想要的计算。但是,如果也按这种思想来处理SQL编程,那么最终只能得到平庸的结果。不仅写出来的代码非常长,难以维护,而且代码的效率不高、不灵活、不大可能进行性能优化。有效使用SQL,不是要把原来基于过程的编程技巧也扩展到SQL上来,也不仅仅是一套特殊的技巧。写好SQL,需要我们用一种不同的思维方式来处理问题,这是一种面向声明和集合的思维方式,而不是面向过程的。这就是两种思维方式的分化。  如何理解这种声明式的、面向集合的思维方式,成为一名熟练的SQL程序员?《Microsoft SQL Server 2008技术内幕:T-SQL查询》这本书把所有需要的要素综合起来,是对SQL Server开发社区的一大突出贡献。书中关于数据库范式基础的章节可以帮助你理解T-SQL这一语言思想体系的基础,体会它的潜质。从T-SQL的基础操作到最高级的功能特性,这本书详细介绍了语言本身的各个方面,所有内容都基于如何解决现实的问题来进行讲述。通过很多例子向读者演示了好的SQL应该是什么样的,其中涉及的一些通用模式,在编写应用程序时都很有可能用到。

内容概要

本书全面深入地介绍了Microsoft SQL Server 2008中高级T-SQL查询、性能优化等方面的内容,以及SQLServer 2008新增加的一些特性。主要内容包括SQL的基础理论、查询优化、查询算法及复杂度,以及在使用子查询、表表达式、排名函数、数据聚合和透视转换、TOP和APPLY、数据修改、分区表、特殊数据结构等实际应用时会遇到的各种高级查询问题和解决方案。 作为一本讲述T-SQL高级查询的专业图书,本书旨在结合实践中的各种常见问题,教读者如何用SQL作为语言工具来思考问题,揭示基于集合查询的强大威力。本书内容丰富、文字简洁明快,列举的实例具有一定的难度,而且实用性很强,可以把它们作为解决实际问题的标准模式。阅读本书,可以充分地理解T-SQL,语言和良好的编程实践,学会如何编写更加有效而强大的查询语句。 本书适合有经验的程序员和:DBA阅读,是在SQLServer2008中编写和优化SQL查询的必备参考图书。

作者简介

  Itzik Ben-Gan,是Solid Quality Mentors的首席顾问和创始人。99年以来一直是SQL Server方面的Microsoft MvP。Itzik在世界各地从事T-SQL查询.编程和查询优化相关的培训和咨询工作。他为SQL Server Magazine和MSDN撰写了很多文章,并受邀在许多业界的专题会议上发表演讲。包括Tech-Ed、DevWeek、PASS和SQL Server Magazine Connections。  Lubor Kollar,是微软公司SQL Server Customer Advisory Team的Group Program Manager。从事世界范围内最具挑战性的SQL Server开发。他有超过1 3年SQL Server开发经验。  Dejan Sarka,是认证讲师(MCT)、微软认证I传家(MCITP)、微软认证数据库管理员(MCDBA)、SQL Server MVP,从事开发数据库和商业智能解决方案。他也是Solid Quality Mentors的顾问,出席过Tech. Ed PASS和SQL Server DevCon。  Steve Kass,博士,是SQL Server MVP,也是数学和计算机科学的教授。他为SQL Server Magazine撰写文章,并曾在SQL Server Magazine Connections上发表演讲。

书籍目录

序言致谢前言第1章 逻辑查询处理第2章 集合论和谓词逻辑第3章 关系模型第4章 查询优化第5章 算法和复杂性第6章 子查询、表表达式和排名函数第7章 联接和集合运算第8章 数据聚合和透视第9章 TOP和APPLY第10章 数据修改第11章 查询分区表第12章 图、树、层次结构和递归查询索引

章节摘录

  分析执行计划  执行计划是优化器生成的用于确定如何处理一个给定查询的“工作计划”。一个计划包含一组运算符,通常按照特定的顺序来应用这些运算符。一些运算符可以在它们前面的运算符还在处理时被应用。一些运算符可能应用多次。而且,如果优化器选择了并行计划(parallel plan),那么计划的一些分支还有可能会被并行调用。在计划中,优化器负责决定查询以什么顺序来访问表、使用哪些索引和应用什么样的访问方法、使用哪种联接算法等等。实际上,对于给定的查询,优化器会评估多个执行计划,并从生成的多个计划中选择一个开销最低的计划。注意,SQL server可能不会为给定的查询生成所有可能的执行计划。如果总是要生成所有的执行计划,那么优化过程可能会太长。SQL Serer将根据一些因素(如查询所涉及到的表的长度)来计算优化过程的临界值。一种临界值是基于时间的,SQL Server不会在优化上花费比该时间临界值更长的时间。还有一种临界值是基于开销的,也就是说,如果找到一个开销比该临界值更低的计划,就认为这个计划“足够好”,这时就会停止优化,并使用该计划。  在这两本书中,会经常分析查询的执行计划。这一节和下一节(“索引优化”)将介绍相关的背景知识,帮助你理解那些涉及分析执行计划的讨论。但本节的目的不是让你熟悉所有可能的运算符,而是让你了解分析执行计划的技巧。在“索引优化”一节中将介绍与索引有关的运算符,在本书的后面还将详细解释其他的运算符,例如,与联接有关的运算符将在第7章“联接和集合运算”中介绍。图形化的执行计划  这两本书广泛使用了图形化的执行计划。在SSMS中既可以得到估计的执行计划(按Ctrl+L键),也可以在生成查询输出的同时得到实际的执行计划(按Ctrl+M键)。不过,这两种计划通常都是一样的,记住,执行计划是在查询执行之前生成的。然而,当请求估计的计划时,查询根本不会运行。很明显,有些测量数据只在运行时才能收集(例如,每个运算符返回的实际行数,以及运算符的实际执行次数)。在估计的计划中,可以看到一些估计的测量值,这些值只有在运行时才能收集到真实的数据,而实际的计划则会显示实际的数据和一些相同的估计值。  ……


编辑推荐

  精通T-SQL高级查询和性能优化的幕后机制,编写更快,更具伸缩性的代码。作者团队用精深而富有洞察力的T-SQL知识帮助开发人员解决最棘手的基于集合的查询和性能优化问题,加深开发人员对T-SQL体系结构和内部处理细节的理解。通过各种实用方法和高级技术提高代码质量。  你将学到:  从面向过程的编程到基于集合的语言及思维逻辑的转变;使用自顶向下的方法论优化查询;根据算法复杂度预测性能;比较各种数据聚合技术,包括新的分组集;管理数据操作(插入、删除、更新和合并),提高性能;针对分区表编写更有效的查询;处理图、树和层次结构,以及递归查询;通过纯逻辑难题来磨练解决问题的能力。

图书封面

图书标签Tags

广告

下载页面


Microsoft SQL Server 2008技术内幕:T-SQL查询 PDF格式下载



书内容很好,翻译也不错,比那本《Microsoft SQL Server 2005技术内幕:查询、调整和优化 》好很多。


这本书对于开发高度依赖于数据库软件的开发人员来说实在是不可多得。
不但介绍了如何建立SQL Server查询,更关注效率,关注SQL思想,让你在SQL应用上有一个质的飞跃。
每个开发基于SQL Server数据库的 C/S B/S应用的程序员都应该拥有一本。


从数学原理角度讲解SQL查询实现,颇具深度,并且中文翻译水平不错。让多数人看后对SQL和数据库有更深入的认识。数学功底不好,看起来可能会吃力!


介绍的内容确是不错,不仅是讲到了怎么写SQL,关键是讲解了一些SQL的工作原理,了解了这些东西,再去写SQL的话,自觉的就能把SQL写的比之前优化多了。好书啊好书。


sql server有深度


比上一版本2005要丰富的多。非常好的教材,反映了作者深厚的SQL功底。所有做数据库的都应该仔细研究这本书。


这本书主要讲SQL的执行原理,能从原理上思考问题,很不错!


书是正版的,快递很快...最重要是这本书内容很详细,对于有一定基础的人学习来对能力的提升有很大的帮助,但有一定难度,初学者建议在当当买T—SQL基础


乍看之下书中讲的内容好像都懂,但仔细看了以后才发现其实以前真的是一知半解(尽管看了以后还是不能完全看透SQL,当然如果完全看懂,我也就是大师级的人物了),不过这本书真的很好,绝不是点到为止而是层层拨解,写的很透,绝对推荐。


非常好,很值得购买;
个人认为这本书是深入学习T-SQL不二的选择。
关于内容,我只讲两点:很基础,很深入。


虽然还没有读完,但是书中的内容对我帮助很大,建议欲深入学习SQL的得读者购买!


不太时候新手,对SQL有一定基础的应该比较合适


这本书还是不错的,第一篇就能看出与别的SQL书的不同. 进阶必备.


无基础的建议要先阅读同系列T-SQL基础,很不错的书


能够看到另一个层次的SQL,相当物有所值的一本书。


深入的讲解了T-SQL执行效率。非常受益。
有一种把大学学的基础知识联系到一起的感觉。


学习SQL的必备之书


一本让人极度震撼和感到惊讶的著作,让人知道sqlserver原来也有这么大的学问!确实是一本好书!


非常好的sqlserver技术书籍。学技术关键就是了解真相,真相就在这里。


这本书非常好,浅显易懂,写的很深入,讲解很细致。非常适合经常翻看。一定要买一本


非常不错。建意购买。比起2005,多了很多的内容。且讲述风格也很独特。对2008有了更深入的介绍。


书非常不错, 但需要有一定DBA基础的人看, 建议无DBA基础的人先找找其它书看


就目前的水平来说,看这本书应该还有点难度。可是选了几章自己适合的看了看,讲的很透彻。


正在读,感觉还不错,需要一定的数据库基础,不适合初学者


这本书好,从浅到深,深入TSQL,实例也很给力,很有帮助。


内容很有深度,受益匪浅,打算看完了再买那本‘存储引擎’分册


很早就想要这本书了,比较适合进阶


这本书讲的还可以,比较直观,图比较多,容易理解。

欢迎大家购买这本书后,配合 微软MVP 10年开发出来的 C#**** 通用权限管理系统项目源代码学习

学习版是:998元。


有深入,有内容,不错!


书很不错,内容很充实,不适合初学者


讲的很深入,值得收藏


还不错,很实用的一本书还不错,很实用的一本书


这本书不错,有时间就看看


印刷不错,内容还没看。


看了前面几章,感觉书的编版和内容都很好。重点、注意各有不同的标示。


很不错的书,内容很好


的确是一本好书,写的很深刻!也很实用!值得细细的多品味几遍。


书很好,慢慢品味中


要是能对着书上的例子做一遍就无敌了


好,难


挺不错,非常喜欢


工具书,实用。


书好像是旧的,封面明显有翻书的折痕


很不错得工具书。


随便看了下,感觉不错,很多东西讲的很仔细了


买了一个星期才收到书。真慢 无语ing


Good!@


实用,正在用。


6号下午下的订单 7号不到中午货就到了..


非常好,很值得购买;
个人认为这本书是深入学习T-SQL不二的选择。
关于内容,我只讲两点:很基础,很深入。


sql查询介绍的比较详细


内容比较全面,部分内容的讲解也比较深入,作为T-SQL的基础学习来说已经足够
建议有英文基础的朋友配合英文版一起阅读,可以增进理解,而且可以避免中文版的部分印刷错误。


不管是从书的质量还是书的类容来看,我觉得都是一本不错的书哦。讲T-SQL也讲的比较好的,它不像有些书,只是给你讲表面的东西,而是会给你讲解更深入一些的原理的东西。这个是我觉得很不错的方面,值得拥有一本


对应开始接触SQL的帮助很大


对于做数据库优化挺有帮助


内容很丰富,对具有一定经验的人继续深入很有帮助


听同事说这本书的内容比较深,适合做开发的童鞋们看,不过刚拿到,我还没有仔细研究。


虽然实际还没用过2008,抢先看看有没有高级功能


该书本内容不错,很容易懂,比较适合本人,但是纸张很一般。难以收藏


书不错,编排的还行,正在认真阅读


内容就不用说了。 纸张质量不错。


书自量还行..内容有参照代码..不错


讲解的是很详细。也很深入,没有基础的肯定要看晕了


只看了几页就扔那里了,喜欢买书却不能坚持看完。


有深度,有难度


看了下,不太适合初学者。


书还是可以,就是有点深了。不适合初学者。。


书不错,质量挺好,对于进阶者很有帮助


此书是正版吗


还好,感觉需要慢慢品味


书质量还不错,送货速度快


一本难得的好书,就是听说书质量有点差,现在真是有点差!


但是对关系代数部分的翻译不是太好


邮递的速度很快,服务周到,书的质量不错


还没开始认真地看……


一本好书,可以学不少东西。


哈哈哈 挺好


质量不错 书也不错 得好好学


目录对应的页码完全不对啊~~


还行吧!!正在学习中


看了一些,角色还行


一般,看不太懂,不是所期待的那种。


例子不少 受用了


有褶皱,但不想换了,


译者不太厚道啊, 不仅附录没有,示例代码和脚本提是提供了, 但是你非得去CSDN注册,而且要有下载积分才能下载。


不错的介绍数据库内部运行的书


书太厚了,字小,内容不错,慢慢读


相关图书