sqlserver 構架與性能優化

太陽底下沒有新鮮事sql

 

1、sqlserver 構架結構

                       

一、查詢優化器三階段

 

1)、找計劃緩存若是找到直接使用緩存

2)、簡單語句生成0開銷的執行計劃工具

3)、正式優化 通常狀況下優化到開銷小於1.0就會中止sqlserver

定義…優化

 

Select * from sys.dm_os_memory_cache_entries where type=’cachestore_phdr’spa

 

二、寫入數據頁

1)、惰性寫入器(按期檢驗緩衝區的鄰居l領進臨界值,若是太小就會去檢驗好久麼有的緩存(老化頁)直接幹掉,髒頁寫入到硬盤,而後把這個內存空間標註爲空閒)3d

2)、Checkpoint 檢驗點進程只把髒頁面寫入到數據頁,若是斷電重啓會從日誌文件讀取恢復日誌

 

3)、內存配置的依據server

select count(*)*8/1024 as 'Buffer cached size(MB)'blog

, case database_id when 32767 THEN 'ResourceDb' else db_name(database_id)

end AS 'Database'

 from sys.dm_os_buffer_descriptors group by db_name(database_id), database_id

order by 'Buffer cached size(MB)' desc

 

 

2、日誌 備份和恢復

 

  1. 有序的文件事務日誌(事務提交九寫了事務日至)

描述記錄包括 發生改變 數據頁 和頁 碼。 增長或刪除的數據,已經這些改變所屬的事務 信息,還有事務的起止日期和時間信息

 

二、事務日誌的數據恢復

在最後一個檢查點以後發生的數據將被用做恢復

 

ldf ,

 

 

問題: 事務日誌一直不斷增加採起辦法

恢復模式

簡單,完整,大容量日誌

 

一、  完整模式只有作了事務日誌纔會截斷

二、  能夠改爲簡單模式直接截斷(強烈不建議使用)簡單恢復模式只要checkpoint就會截斷

三、  搜索

 

全備

差別備份

事務日誌備份

 

3、深刻理解索引

 

 

 

 

 

 

 

Mssql 只有一種索引模式 B-Tree 模式

一、 非彙集索引

 

 

二、  彙集索索引

 

 

 

 

動做描述

使用匯集索引

使用非彙集索引

列常常被分組排序

返回某範圍內的數據

不該

一個或極少不一樣值

不該

不該

小數目的不一樣值

不該

大數目的不一樣值

不該

頻繁更新的列

不該

外鍵列

主鍵列

頻繁修改索引列

不該

 

 

 

 

 

SELECT  * FROM dbo.PCE_Admin_Info WHERE Admin_Account='admina' AND Admin_Id = 1

 

 

 

4、優化工具使用

一、  執行計劃-- EXPLAIN 

二、  查詢優化顧問

三、  活動監視器

四、  Sql 分析器

 

索引查找 和索引掃描

 

USE db_30014

SELECT  * FROM dbo.PCE_Site_Mobile_Region_Bind

SELECT  * FROM dbo.PCE_Site_Mobile_Region_Bind WHERE Bind_MobileNo >1000

 

緩存體現

SELECT  * FROM dbo.PCE_Site_Mobile_Region_Bind WHERE Bind_MobileNo >1900000

SELECT  * FROM dbo.PCE_Site_Mobile_Region_Bind

相關文章
相關標籤/搜索