原创 SQLServer定量性能分析

引言 描述揭示執行計劃成本規則所必要的工具和測試腳本。查詢成本和性能要達到我們的預期對錶和索引有一些高水平的理解也是必要的。一些主題在其他地方有詳細介紹,所以這裏只做簡短的討論。SQLServer工具包括查詢分析器和事件探查器。SET選項

原创 SQLServer執行計劃成本(續3)

循環、哈希與合併連接比較在分別討論了循環、哈希與合併連接的執行計劃成本規則之後,現在將3個連接類型放到適合各自條件的環境下一起比較。下面的圖2-27顯示了循環、哈希與合併連接在1P/2P系統上的啓動成本。外部源和內部源啓動成本描述了索引搜

原创 SQL Server批處理運行時錯誤的影響

  前言:批處理是同時從應用程序發送到 SQL Server 2005 並得以執行的一組單條或多條 Transact-SQL 語句。我們通常認爲當一個

原创 SQL Server中約束的介紹

摘要 對於SQL Server中的約束,想必大家並不是很陌生。但是約束中真正的內涵是什麼,並不是很多人都很清楚的。本文以詳細的文字來介紹了什麼是約束,以及如何在數據庫編程中應用和使用這些約束,來達到更好的編程效果。(本文部分內容參考了SQ

原创 存儲過程編寫經驗和優化措施

  介紹:在數據庫的開發過程中,經常會遇到複雜的業務邏輯和對數據庫的操作,這個時候就會用SP來封裝數據庫操作。如果項目的SP較多,書寫又沒有一定的規範,將會影響以後的系統維護困難和大SP邏輯的難以理解,另外如果數據庫的數據量大或者項目對S

原创 BULK INSERT Performance

BULK INSERT Performance 一直以為BULK INSERT就不會記Log,結果今天跌了一跤... 我下的語法如下(錯誤示範,小朋友不要學) TRUNCATE TABLE RESD BULK INSERT RESDEF

原创 SQLServer執行計劃成本

表掃描當沒有合適的索引時就發生表掃描操作。這可能意味着沒有索引存在或者預期有很多行且比掃描整個表開銷更少。如果表是一個堆表,執行計劃顯示錶掃描操作;如果表有聚集索引或者所有需要的值都在一個非聚集索引裏如圖2-6顯示,那麼執行計劃顯示一個索

原创 SQLServer執行計劃成本(續1)

聚合查詢裏使用聚合函數(MIN、MAX、COUNT、AVG或SUM)時發生流聚合(Stream Aggregate)和標量計算(Compute Scalar)如下所示。 SELECT COUNT(*), AVG(Value) FROM M

原创 SQLServer執行計劃成本(續2)

哈希連接 哈希和合並連接都是分開處理內部源和外部源的。連接條件不能用作搜索參數。當沒有爲表或存在的不合適的索引明確指定搜索參數時,就要對那個表進行掃描。有可能哈希和合並連接有書籤查找操作,但也未必,除非強制指定連接類型。下面的查詢明確聲明

原创 SQLServer執行計劃成本(續4)

Insert、Update和DeleteSQLServer裏3個寫操作是INSERT、UPDATE和DELETE(IUD)。如果加上約束、觸發器和外鍵,寫操作可以變得更復雜。這裏僅關心基本的寫操作。對於3個操作中的每一個,對於堆表和有聚集

原创 SQL Server 索引基礎知識(1)--- 記錄數據的基本格式

由於需要給同事培訓數據庫的索引知識,就收集整理了這個系列的博客。發表在這裏,也是對索引知識的一個總結回顧吧。通過總結,我發現自己以前很多很模糊的概念都清晰了很多。 不論是緩存的數據信息,還是物理保存的信息,他們的基本單位都是數據頁。所以理

原创 每個分類取最新的幾條的SQL實現

分類統計時候,我們可能經常會碰到這樣的需求,每個分類按照一定順序,取幾條數據,然後在一起顯示。 這個問題的解決方法,我們通過搜索引擎,可以找到很多中。但是不是SQL語句過於複雜,就是在數據量比較大時候,性能特別成問題。 今天我就碰到這樣一

原创 SQL Server 索引基礎知識(3)----測試中一些常看的指標和清除緩存的方法

之前的兩篇博客中有2個例子,來演示要講述的內容。其中提到了部分查看數據庫狀態的方法,那裏並不是很全面,這篇博客羅列幾個我們在後面系列博客中會用到查看這些狀態,數據的地方。以及測試中清除緩存的方法。前面兩篇博客的鏈接地址如下: SQL Se

原创 Performance tuning tips for database developers

Performance tuning is not easy and there aren’t any silver bullets, but you can go a surprisingly long way with a few b

原创 SQL Server對網絡數據庫文件的支持

  1.映射網絡驅動器 exec master..xp_cmdshell 'net use M: //ip/db "password" /user:ip/username' 檢驗驅動器是否可用 exec   master..xp_cmd