mssql最佳化學習筆記之一
最近下決心學習一下MSSQL的核心技術,看了點《Microsoft.Press.Inside.Microsoft.SQL.Server.2005.The.Storage.Engine》裡的MSSQL配置,然後又接著看了《Microsoft.Press.Inside.Microsoft.SQL.Server.2005.Query.Tuning.and.Optimization.Sep.2007》決定深入研究一下MSSQL的最佳化技術,今天看了第一章,都是些基本概念,雖然這些概念以前也接觸過,但應該是理解比以前更深入了,下面是總結一下自己覺得值得記錄的東西:
1、四個隔離級別:
(1)read uncommitted:讀不加鎖,可以隨時讀到其他事務修改的資料,而且結果不可預測;
(2)read committed:讀資料時要加一個共享鎖,但讀完就釋放掉鎖,哪怕所在事務並沒提交也釋放鎖,會出現同一事務內讀資料部一致的情況;
(3)repeatable read:讀資料時獲取一個共享鎖,而且讀完後不釋放鎖,一直到讀操作所在事務提交為止,不會發生事務內因資料被其他事務修改而造成的讀資料不一致情況,但會發生幻影情況(即因為資料插入操作引起的事務內讀資料的不一致);
(4)serializable:讀資料時加鎖,而且一直到事務提交才釋放,而且不會發生任何事務內資料讀不一致情況,事務對資料的操作或讀取都是序列的;
2、獲取例項上所有操作的CPU資源消耗情況的語句:
SELECT TOP 10
total_worker_time/execution_count AS avg_cpu_cost,
execution_count,
(SELECT SUBSTRING(text, statement_start_offset/2 + 1,
(CASE WHEN statement_end_offset = -1
THEN LEN(CONVERT(nvarchar(max), text)) * 2
ELSE statement_end_offset
END - statement_start_offset)/2)
FROM sys.dm_exec_sql_text(sql_handle)) AS query_text
FROM sys.dm_exec_query_stats
ORDER BY [avg_cpu_cost] DESC
今天比較累,先寫到這裡。。。有時間繼續。
1、四個隔離級別:
(1)read uncommitted:讀不加鎖,可以隨時讀到其他事務修改的資料,而且結果不可預測;
(2)read committed:讀資料時要加一個共享鎖,但讀完就釋放掉鎖,哪怕所在事務並沒提交也釋放鎖,會出現同一事務內讀資料部一致的情況;
(3)repeatable read:讀資料時獲取一個共享鎖,而且讀完後不釋放鎖,一直到讀操作所在事務提交為止,不會發生事務內因資料被其他事務修改而造成的讀資料不一致情況,但會發生幻影情況(即因為資料插入操作引起的事務內讀資料的不一致);
(4)serializable:讀資料時加鎖,而且一直到事務提交才釋放,而且不會發生任何事務內資料讀不一致情況,事務對資料的操作或讀取都是序列的;
2、獲取例項上所有操作的CPU資源消耗情況的語句:
SELECT TOP 10
total_worker_time/execution_count AS avg_cpu_cost,
execution_count,
(SELECT SUBSTRING(text, statement_start_offset/2 + 1,
(CASE WHEN statement_end_offset = -1
THEN LEN(CONVERT(nvarchar(max), text)) * 2
ELSE statement_end_offset
END - statement_start_offset)/2)
FROM sys.dm_exec_sql_text(sql_handle)) AS query_text
FROM sys.dm_exec_query_stats
ORDER BY [avg_cpu_cost] DESC
今天比較累,先寫到這裡。。。有時間繼續。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8484829/viewspace-605590/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mssql最佳化學習筆記之三SQL筆記
- MSSQL配置學習筆記之二SQL筆記
- mssql配置學習筆記之三SQL筆記
- MySQL學習筆記之一MySql筆記
- Java學習筆記之一Java筆記
- 最佳化學習筆記筆記
- R語言學習筆記之一R語言筆記
- STL的學習筆記之一 (轉)筆記
- MSSQL2005-QUERY EXECUTION學習筆記一SQL筆記
- 【學習筆記】初次學習斜率最佳化的程式碼及筆記筆記
- 組合最佳化 學習筆記筆記
- MSSQL2005-QUERY EXECUTION學習筆記之二SQL筆記
- Java相關課程系列筆記之一Java學習筆記Java筆記
- Hadoop學習筆記之一 : HDFS原理二Hadoop筆記
- Hadoop學習筆記之一 : HDFS原理一Hadoop筆記
- 《深入淺出MFC》學習筆記之一 (轉)筆記
- ORACLE學習筆記--效能最佳化一Oracle筆記
- ORACLE學習筆記--效能最佳化四Oracle筆記
- ORACLE學習筆記--效能最佳化三Oracle筆記
- ORACLE學習筆記--效能最佳化二Oracle筆記
- hive學習筆記之一:基本資料型別Hive筆記資料型別
- 數字人粒子系統學習筆記之一筆記
- 深度學習筆記之一些基本術語深度學習筆記
- OpenGL筆記之一 開學筆記
- JDBC學習筆記-----jdbc效能最佳化 (轉)JDBC筆記
- (長期更新)DP 最佳化 學習筆記筆記
- Flutter筆記——幀繪製系列之一(原始碼學習)Flutter筆記原始碼
- Object C學習筆記7-字串NSString之一Object筆記字串
- 「學習筆記」SPFA 演算法的最佳化筆記演算法
- 線段樹最佳化建圖學習筆記筆記
- numpy的學習筆記\pandas學習筆記筆記
- [學習筆記] 單調佇列最佳化DP - DP筆記佇列
- Laravel 學習筆記之一:備份資料以及資料填充Laravel筆記
- IT學習筆記筆記
- 學習筆記筆記
- Mssql高階注入筆記(轉)SQL筆記
- 演算法學習筆記(3):與斜率最佳化共舞演算法筆記
- Mybatis學習筆記(4)-高階對映之一對多對映MyBatis筆記