Microsoft SQL Server 2008技術(shù)內(nèi)幕:T-SQL查詢

出版時間:2010年9月  出版社:電子工業(yè)出版社  作者:本·甘(ItzikBen-Gan)  頁數(shù):583  譯者:成保棟 李保強  
Tag標簽:無  

前言

  我以前短暫地見過幾次Itzik Ben-Gan,久聞他的大名,所以很期待在PASS的一次下午會議中聽他介紹如何在SQL編程中避免使用游標。很幸運,我提早到了那里,隨后會議室里就擠滿了人。Itzik帶來了兩個SQL編程問題,他用嫻熟的技巧和有趣的方式,將它們輕松玩弄于股掌之間,展示了面向合集的思維是多么優(yōu)雅和高效。聽眾們喜歡這種思維方式,我也一樣,只是我從另一個角度來看待這些。因為我對SQL Server的內(nèi)部機制已經(jīng)有所了解,所以我能看得出來,Itzik在他的演示中已經(jīng)觸及了SQL Server的神經(jīng),很欣賞他能把SQL Server的一些特性轉(zhuǎn)變成漂亮的解決方案。會后,我問一位聽眾,他的主要收獲是什么,很好奇眾多技術(shù)中的哪些能給他留下深刻印象。這位聽眾打量了我一下,稍微有些吃驚,接著只說了一句話:“這個人是個天才!”——總結(jié)得多么好的一句話?! ∮螛藛栴}要比它表面看起來的更加基礎(chǔ)。它反映了兩種思維方式的深刻分化,具有巨大的實際重要性。我們當中的大多數(shù)人接受的教育是,在編程時,要把一個任務(wù)細分成多個更小的步驟,按一定的順序執(zhí)行程序,進行想要的計算。但是,如果也按這種思想來處理SQL編程,那么最終只能得到平庸的結(jié)果。不僅寫出來的代碼非常長,難以維護,而且代碼的效率不高、不靈活、不大可能進行性能優(yōu)化。有效使用SQL,不是要把原來基于過程的編程技巧也擴展到SQL上來,也不僅僅是一套特殊的技巧。寫好SQL,需要我們用一種不同的思維方式來處理問題,這是一種面向聲明和集合的思維方式,而不是面向過程的。這就是兩種思維方式的分化?! ∪绾卫斫膺@種聲明式的、面向集合的思維方式,成為一名熟練的SQL程序員?《Microsoft SQL Server 2008技術(shù)內(nèi)幕:T-SQL查詢》這本書把所有需要的要素綜合起來,是對SQL Server開發(fā)社區(qū)的一大突出貢獻。書中關(guān)于數(shù)據(jù)庫范式基礎(chǔ)的章節(jié)可以幫助你理解T-SQL這一語言思想體系的基礎(chǔ),體會它的潛質(zhì)。從T-SQL的基礎(chǔ)操作到最高級的功能特性,這本書詳細介紹了語言本身的各個方面,所有內(nèi)容都基于如何解決現(xiàn)實的問題來進行講述。通過很多例子向讀者演示了好的SQL應(yīng)該是什么樣的,其中涉及的一些通用模式,在編寫應(yīng)用程序時都很有可能用到。

內(nèi)容概要

本書全面深入地介紹了Microsoft SQL Server 2008中高級T-SQL查詢、性能優(yōu)化等方面的內(nèi)容,以及SQLServer 2008新增加的一些特性。主要內(nèi)容包括SQL的基礎(chǔ)理論、查詢優(yōu)化、查詢算法及復(fù)雜度,以及在使用子查詢、表表達式、排名函數(shù)、數(shù)據(jù)聚合和透視轉(zhuǎn)換、TOP和APPLY、數(shù)據(jù)修改、分區(qū)表、特殊數(shù)據(jù)結(jié)構(gòu)等實際應(yīng)用時會遇到的各種高級查詢問題和解決方案。    作為一本講述T-SQL高級查詢的專業(yè)圖書,本書旨在結(jié)合實踐中的各種常見問題,教讀者如何用SQL作為語言工具來思考問題,揭示基于集合查詢的強大威力。本書內(nèi)容豐富、文字簡潔明快,列舉的實例具有一定的難度,而且實用性很強,可以把它們作為解決實際問題的標準模式。閱讀本書,可以充分地理解T-SQL,語言和良好的編程實踐,學會如何編寫更加有效而強大的查詢語句。    本書適合有經(jīng)驗的程序員和:DBA閱讀,是在SQLServer2008中編寫和優(yōu)化SQL查詢的必備參考圖書。

作者簡介

  Itzik Ben-Gan,是Solid Quality Mentors的首席顧問和創(chuàng)始人。99年以來一直是SQL Server方面的Microsoft MvP。Itzik在世界各地從事T-SQL查詢.編程和查詢優(yōu)化相關(guān)的培訓和咨詢工作。他為SQL Server Magazine和MSDN撰寫了很多文章,并受邀在許多業(yè)界的專題會議上發(fā)表演講。包括Tech-Ed、DevWeek、PASS和SQL Server Magazine Connections?! ubor Kollar,是微軟公司SQL Server Customer Advisory Team的Group Program Manager。從事世界范圍內(nèi)最具挑戰(zhàn)性的SQL Server開發(fā)。他有超過1 3年SQL Server開發(fā)經(jīng)驗?! ejan Sarka,是認證講師(MCT)、微軟認證I傳家(MCITP)、微軟認證數(shù)據(jù)庫管理員(MCDBA)、SQL Server MVP,從事開發(fā)數(shù)據(jù)庫和商業(yè)智能解決方案。他也是Solid Quality Mentors的顧問,出席過Tech. Ed PASS和SQL Server DevCon?! teve Kass,博士,是SQL Server MVP,也是數(shù)學和計算機科學的教授。他為SQL Server Magazine撰寫文章,并曾在SQL Server Magazine Connections上發(fā)表演講。

書籍目錄

序言致謝前言第1章 邏輯查詢處理第2章 集合論和謂詞邏輯第3章 關(guān)系模型第4章 查詢優(yōu)化第5章 算法和復(fù)雜性第6章 子查詢、表表達式和排名函數(shù)第7章 聯(lián)接和集合運算第8章 數(shù)據(jù)聚合和透視第9章 TOP和APPLY第10章 數(shù)據(jù)修改第11章 查詢分區(qū)表第12章 圖、樹、層次結(jié)構(gòu)和遞歸查詢索引

章節(jié)摘錄

  分析執(zhí)行計劃  執(zhí)行計劃是優(yōu)化器生成的用于確定如何處理一個給定查詢的“工作計劃”。一個計劃包含一組運算符,通常按照特定的順序來應(yīng)用這些運算符。一些運算符可以在它們前面的運算符還在處理時被應(yīng)用。一些運算符可能應(yīng)用多次。而且,如果優(yōu)化器選擇了并行計劃(parallel plan),那么計劃的一些分支還有可能會被并行調(diào)用。在計劃中,優(yōu)化器負責決定查詢以什么順序來訪問表、使用哪些索引和應(yīng)用什么樣的訪問方法、使用哪種聯(lián)接算法等等。實際上,對于給定的查詢,優(yōu)化器會評估多個執(zhí)行計劃,并從生成的多個計劃中選擇一個開銷最低的計劃。注意,SQL server可能不會為給定的查詢生成所有可能的執(zhí)行計劃。如果總是要生成所有的執(zhí)行計劃,那么優(yōu)化過程可能會太長。SQL Serer將根據(jù)一些因素(如查詢所涉及到的表的長度)來計算優(yōu)化過程的臨界值。一種臨界值是基于時間的,SQL Server不會在優(yōu)化上花費比該時間臨界值更長的時間。還有一種臨界值是基于開銷的,也就是說,如果找到一個開銷比該臨界值更低的計劃,就認為這個計劃“足夠好”,這時就會停止優(yōu)化,并使用該計劃?! ≡谶@兩本書中,會經(jīng)常分析查詢的執(zhí)行計劃。這一節(jié)和下一節(jié)(“索引優(yōu)化”)將介紹相關(guān)的背景知識,幫助你理解那些涉及分析執(zhí)行計劃的討論。但本節(jié)的目的不是讓你熟悉所有可能的運算符,而是讓你了解分析執(zhí)行計劃的技巧。在“索引優(yōu)化”一節(jié)中將介紹與索引有關(guān)的運算符,在本書的后面還將詳細解釋其他的運算符,例如,與聯(lián)接有關(guān)的運算符將在第7章“聯(lián)接和集合運算”中介紹。圖形化的執(zhí)行計劃  這兩本書廣泛使用了圖形化的執(zhí)行計劃。在SSMS中既可以得到估計的執(zhí)行計劃(按Ctrl+L鍵),也可以在生成查詢輸出的同時得到實際的執(zhí)行計劃(按Ctrl+M鍵)。不過,這兩種計劃通常都是一樣的,記住,執(zhí)行計劃是在查詢執(zhí)行之前生成的。然而,當請求估計的計劃時,查詢根本不會運行。很明顯,有些測量數(shù)據(jù)只在運行時才能收集(例如,每個運算符返回的實際行數(shù),以及運算符的實際執(zhí)行次數(shù))。在估計的計劃中,可以看到一些估計的測量值,這些值只有在運行時才能收集到真實的數(shù)據(jù),而實際的計劃則會顯示實際的數(shù)據(jù)和一些相同的估計值?!  ?/pre>

編輯推薦

  精通T-SQL高級查詢和性能優(yōu)化的幕后機制,編寫更快,更具伸縮性的代碼。作者團隊用精深而富有洞察力的T-SQL知識幫助開發(fā)人員解決最棘手的基于集合的查詢和性能優(yōu)化問題,加深開發(fā)人員對T-SQL體系結(jié)構(gòu)和內(nèi)部處理細節(jié)的理解。通過各種實用方法和高級技術(shù)提高代碼質(zhì)量。  你將學到:  從面向過程的編程到基于集合的語言及思維邏輯的轉(zhuǎn)變;使用自頂向下的方法論優(yōu)化查詢;根據(jù)算法復(fù)雜度預(yù)測性能;比較各種數(shù)據(jù)聚合技術(shù),包括新的分組集;管理數(shù)據(jù)操作(插入、刪除、更新和合并),提高性能;針對分區(qū)表編寫更有效的查詢;處理圖、樹和層次結(jié)構(gòu),以及遞歸查詢;通過純邏輯難題來磨練解決問題的能力。

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    Microsoft SQL Server 2008技術(shù)內(nèi)幕:T-SQL查詢 PDF格式下載


用戶評論 (總計87條)

 
 

  •   書內(nèi)容很好,翻譯也不錯,比那本《Microsoft SQL Server 2005技術(shù)內(nèi)幕:查詢、調(diào)整和優(yōu)化 》好很多。
  •   這本書對于開發(fā)高度依賴于數(shù)據(jù)庫軟件的開發(fā)人員來說實在是不可多得。
    不但介紹了如何建立SQL Server查詢,更關(guān)注效率,關(guān)注SQL思想,讓你在SQL應(yīng)用上有一個質(zhì)的飛躍。
    每個開發(fā)基于SQL Server數(shù)據(jù)庫的 C/S B/S應(yīng)用的程序員都應(yīng)該擁有一本。
  •   從數(shù)學原理角度講解SQL查詢實現(xiàn),頗具深度,并且中文翻譯水平不錯。讓多數(shù)人看后對SQL和數(shù)據(jù)庫有更深入的認識。數(shù)學功底不好,看起來可能會吃力!
  •   介紹的內(nèi)容確是不錯,不僅是講到了怎么寫SQL,關(guān)鍵是講解了一些SQL的工作原理,了解了這些東西,再去寫SQL的話,自覺的就能把SQL寫的比之前優(yōu)化多了。好書啊好書。
  •   sql server有深度
  •   比上一版本2005要豐富的多。非常好的教材,反映了作者深厚的SQL功底。所有做數(shù)據(jù)庫的都應(yīng)該仔細研究這本書。
  •   這本書主要講SQL的執(zhí)行原理,能從原理上思考問題,很不錯!
  •   書是正版的,快遞很快...最重要是這本書內(nèi)容很詳細,對于有一定基礎(chǔ)的人學習來對能力的提升有很大的幫助,但有一定難度,初學者建議在當當買T—SQL基礎(chǔ)
  •   乍看之下書中講的內(nèi)容好像都懂,但仔細看了以后才發(fā)現(xiàn)其實以前真的是一知半解(盡管看了以后還是不能完全看透SQL,當然如果完全看懂,我也就是大師級的人物了),不過這本書真的很好,絕不是點到為止而是層層撥解,寫的很透,絕對推薦。
  •   非常好,很值得購買;
    個人認為這本書是深入學習T-SQL不二的選擇。
    關(guān)于內(nèi)容,我只講兩點:很基礎(chǔ),很深入。
  •   雖然還沒有讀完,但是書中的內(nèi)容對我?guī)椭艽螅ㄗh欲深入學習SQL的得讀者購買!
  •   不太時候新手,對SQL有一定基礎(chǔ)的應(yīng)該比較合適
  •   這本書還是不錯的,第一篇就能看出與別的SQL書的不同. 進階必備.
  •   無基礎(chǔ)的建議要先閱讀同系列T-SQL基礎(chǔ),很不錯的書
  •   能夠看到另一個層次的SQL,相當物有所值的一本書。
  •   深入的講解了T-SQL執(zhí)行效率。非常受益。
    有一種把大學學的基礎(chǔ)知識聯(lián)系到一起的感覺。
  •   學習SQL的必備之書
  •   一本讓人極度震撼和感到驚訝的著作,讓人知道sqlserver原來也有這么大的學問!確實是一本好書!
  •   非常好的sqlserver技術(shù)書籍。學技術(shù)關(guān)鍵就是了解真相,真相就在這里。
  •   這本書非常好,淺顯易懂,寫的很深入,講解很細致。非常適合經(jīng)常翻看。一定要買一本
  •   非常不錯。建意購買。比起2005,多了很多的內(nèi)容。且講述風格也很獨特。對2008有了更深入的介紹。
  •   書非常不錯, 但需要有一定DBA基礎(chǔ)的人看, 建議無DBA基礎(chǔ)的人先找找其它書看
  •   就目前的水平來說,看這本書應(yīng)該還有點難度??墒沁x了幾章自己適合的看了看,講的很透徹。
  •   正在讀,感覺還不錯,需要一定的數(shù)據(jù)庫基礎(chǔ),不適合初學者
  •   這本書好,從淺到深,深入TSQL,實例也很給力,很有幫助。
  •   內(nèi)容很有深度,受益匪淺,打算看完了再買那本‘存儲引擎’分冊
  •   很早就想要這本書了,比較適合進階
  •   這本書講的還可以,比較直觀,圖比較多,容易理解。

    歡迎大家購買這本書后,配合 微軟MVP 10年開發(fā)出來的 C#**** 通用權(quán)限管理系統(tǒng)項目源代碼學習

    學習版是:998元。
  •   有深入,有內(nèi)容,不錯!
  •   書很不錯,內(nèi)容很充實,不適合初學者
  •   講的很深入,值得收藏
  •   還不錯,很實用的一本書還不錯,很實用的一本書
  •   這本書不錯,有時間就看看
  •   印刷不錯,內(nèi)容還沒看。
  •   看了前面幾章,感覺書的編版和內(nèi)容都很好。重點、注意各有不同的標示。
  •   很不錯的書,內(nèi)容很好
  •   的確是一本好書,寫的很深刻!也很實用!值得細細的多品味幾遍。
  •   書很好,慢慢品味中
  •   要是能對著書上的例子做一遍就無敵了
  •   好,難
  •   挺不錯,非常喜歡
  •   工具書,實用。
  •   書好像是舊的,封面明顯有翻書的折痕
  •   很不錯得工具書。
  •   隨便看了下,感覺不錯,很多東西講的很仔細了
  •   買了一個星期才收到書。真慢 無語ing
  •   Good!@
  •   實用,正在用。
  •   6號下午下的訂單 7號不到中午貨就到了..
  •   非常好,很值得購買;
    個人認為這本書是深入學習T-SQL不二的選擇。
    關(guān)于內(nèi)容,我只講兩點:很基礎(chǔ),很深入。
  •   sql查詢介紹的比較詳細
  •   內(nèi)容比較全面,部分內(nèi)容的講解也比較深入,作為T-SQL的基礎(chǔ)學習來說已經(jīng)足夠
    建議有英文基礎(chǔ)的朋友配合英文版一起閱讀,可以增進理解,而且可以避免中文版的部分印刷錯誤。
  •   不管是從書的質(zhì)量還是書的類容來看,我覺得都是一本不錯的書哦。講T-SQL也講的比較好的,它不像有些書,只是給你講表面的東西,而是會給你講解更深入一些的原理的東西。這個是我覺得很不錯的方面,值得擁有一本
  •   對應(yīng)開始接觸SQL的幫助很大
  •   對于做數(shù)據(jù)庫優(yōu)化挺有幫助
  •   內(nèi)容很豐富,對具有一定經(jīng)驗的人繼續(xù)深入很有幫助
  •   聽同事說這本書的內(nèi)容比較深,適合做開發(fā)的童鞋們看,不過剛拿到,我還沒有仔細研究。
  •   雖然實際還沒用過2008,搶先看看有沒有高級功能
  •   該書本內(nèi)容不錯,很容易懂,比較適合本人,但是紙張很一般。難以收藏
  •   書不錯,編排的還行,正在認真閱讀
  •   內(nèi)容就不用說了。 紙張質(zhì)量不錯。
  •   書自量還行..內(nèi)容有參照代碼..不錯
  •   講解的是很詳細。也很深入,沒有基礎(chǔ)的肯定要看暈了
  •   只看了幾頁就扔那里了,喜歡買書卻不能堅持看完。
  •   有深度,有難度
  •   看了下,不太適合初學者。
  •   書還是可以,就是有點深了。不適合初學者。。
  •   書不錯,質(zhì)量挺好,對于進階者很有幫助
  •   此書是正版嗎
  •   還好,感覺需要慢慢品味
  •   書質(zhì)量還不錯,送貨速度快
  •   一本難得的好書,就是聽說書質(zhì)量有點差,現(xiàn)在真是有點差!
  •   但是對關(guān)系代數(shù)部分的翻譯不是太好
  •   郵遞的速度很快,服務(wù)周到,書的質(zhì)量不錯
  •   還沒開始認真地看……
  •   一本好書,可以學不少東西。
  •   哈哈哈 挺好
  •   質(zhì)量不錯 書也不錯 得好好學
  •   目錄對應(yīng)的頁碼完全不對啊~~
  •   還行吧?。≌趯W習中
  •   看了一些,角色還行
  •   一般,看不太懂,不是所期待的那種。
  •   例子不少 受用了
  •   有褶皺,但不想換了,
  •   譯者不太厚道啊, 不僅附錄沒有,示例代碼和腳本提是提供了, 但是你非得去CSDN注冊,而且要有下載積分才能下載。
  •   不錯的介紹數(shù)據(jù)庫內(nèi)部運行的書
  •   書太厚了,字小,內(nèi)容不錯,慢慢讀
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7