MSSQL2008R2綠色獨立運行版是一款非常不錯的數據庫管理軟件,該軟件為廣大用戶提供了非常完整的企業級技術與工具,MSSQL2008R2綠色獨立運行版可以為任何規模的應用提供完備的信息平臺,支持大規模的數據中心與數據倉庫。
功能介紹
1、新的FORCESCAN查詢提示
任何DBA在進行查詢優化的時候,都知道scan和seek之間的區別。Scan是指讀取表中每一行數據然后返回查詢;而seek使用表的葉數據來找到能夠回答相同查詢的行。當查詢結果僅涉及到表數據的10-15%時,通常使用seek方式會比較好,當涉及到大量數據時則使用scan,它會讀取整個表然后送到內存中然后返回結果,無需分析索引。
1.新的FORCESCAN提示功能就和字面上的意思一樣,可以確保查詢優化器在給定的操作中不使用seek,而強制使用scan。需要提醒的是,FORCESCAN需要謹慎使用,否則會造成查詢性能降低的后果:
2.SELECT user_type FROM user_table WITH (FORCESCAN)
上面的語句假定user_type列相對來說并不是獨一無二的,也就是所謂的“低基數”列,這時候使用FORCESCAN就和使用索引沒有太大差別。
3.隨著SQL Server查詢優化器變得越來越強大,我在自己的程序中已經很少會用到這種提示功能,但是FORCESCAN還是有它的用武之處。強制表掃描是對系統進行拷問測試的一種方法,FORCESCAN在這方面將會發揮積極的作用。
其他內容
1.FORCESEEK和FORCESCAN二者是截然相反的,它會強制數據庫使用seek。在之前的版本中也存在這一功能,但是在SQL Server 2008 R2 SP1中,DBA可以使用FORCESEEK來指定需要seek的索引或者列:
2.SELECT user_name FROM user_table
3.WITH (FORCESEEK(user_table_index(user_name))
4.如果你能夠想到的,在user_table上有一個索引叫做user_table_index,它將user_name作為其中的一列。這會強制查詢優化器使用這個索引和列來進行seek。你還可以seek多個列,但是這需要按照它們在索引中的位置順序來指明出來。
5.一個可能的應用場景:你創建了一個系統,其中生成索引后你想要手動進行詳細的說明,或者是用存儲過程以及內嵌SQL語句來自動生成。