激情欧美日韩一区二区|国产18在线播放|黄的日本免费大片|国产色在线 | 亚洲|青青操夜夜操

Sql Server數據庫優化的一些高級方法2

歡歡歡歡 發表于 2018-5-6 17:55

1,查詢沒有使用參數化的語句,參數化很重要也很簡單

1)腳本每次進入數據庫執行,只編譯一次。能提高性能

2)眾所周知的簡單

SELECT TOP 10

        MAX(Text) '示例語句' ,

        SUM(CAST(size_in_bytes AS BIGINT)) / 1024. / 1024. AS '占用服務器內存Size(MB)' ,

        COUNT(1) '緩存計劃數'

FROM    sys.dm_exec_cached_plans

        CROSS APPLY sys.dm_exec_sql_text(plan_handle) 

  --cross apply sys.dm_exec_text_query_plan(plan_handle,default,default)

WHERE   Objtype IN ( 'Adhoc', 'Prepared' )

        AND text NOT LIKE '(@%'

        AND text NOT LIKE '%sys%'

GROUP BY LEFT(TEXT, 20)

HAVING  COUNT(1) > 10

 

ORDER BY '緩存計劃數' DESC

 

2,查看數據庫腳本的cpu和磁盤統計

 

SET statistics time on

SET statistics io on

只在當前查詢頁起作用,關掉當前查詢tab即關掉了

3,顯示估計執行計劃,根據建議可直接建立缺省索引

根據建議自動建立缺省索引

4,根據前一篇文章(摸這里)可查詢到頻繁查詢而需要建立的索引。好的索引可以極大提高性能。

建立索引的原則:

1)能極大減少數據量的字段放在前面;

2)第一個字段的不同決定要建立幾個索引(下圖一般需要三個)

3)索引需要的字段一般以最多的為準,被用到最多的放在前面

創建索引原則

5,附件中為產生需要重建的索引的腳本的存儲過程的生成腳本(附件摸這里

其中sql server 2012商務智能版本不支持腳本中的WITH(ONLINE=ON),可根據具體情況將其去掉。

定期執行該存儲過程,清理重新生成索引,清理索引碎片。

6,創建索引的最簡單語句

 

Create index IX_t_CustVCard_YGCode 

on [t_CustVCard]([YGCode]) 

include([CustUniqCode])

7,SqlServer的一些基本輔助函數:

sp_helpindex 標明 -------------------查詢這個表有多少個索引

8,備份數據庫策略:(附件摸這里

舉個例子:一周做一個完整備份,一個小時做一次日志備份,還原的時候依次還原即可。腳本見附件。