999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

SQL SERVER數據庫性能優化探討

2013-10-21 01:34:19劉冬周彬
卷宗 2013年6期
關鍵詞:數據庫效率優化

劉冬 周彬

摘 要:本文從SQL SERVER 數據庫的范式優化、查詢優化、索引優化等方面出發,對數據庫的性能優化方法進行探討,總結了數據庫優化應遵循的方法,力圖提高SQL語句的執行效率。

數據庫技術的應用已由傳統數據處理發展至圖像處理、商業決策管理等更多的新興領域,而這些新興領域對信息系統的高效、安全、穩定的性能要求更高。如何有效組織及處理數據庫中的海量數據, 保證系統吞吐量, 成為數據庫優化的首要任務。本文針對數據庫優化技術探索合適的方法,從范式優化、查詢優化、索引優化等多個方面進行探討,希望可以通過這些優化使信息系統更適用于人們的需求。

1 合理使用范式

關系模式規范化的目的是為了消除存儲異常、減少數據冗余,解決數據插入異常、刪除異常,保證數據完整性(即正確性和一致性)和存儲效率。但是把數據庫分解得越多,就會造成查詢時的時間浪費。通常認為當一個關系模式可以達到3NF(第三范式)或BCNF時,就具有了合理的結構及良好的性能。當關系規范化達到BCNF時, 雖然可以消除數據冗余太異常, 但卻可能會破壞了數據語義。所以,我們在設計時要先盡可能設計為BCNF,如果這時BCNF不到保持函數依賴的要求,破壞了數據語義,就應該則降低為3NF。在這里,3NF是指所有的非主屬性都完全依賴主屬性且不傳遞于主屬性。一般情況下當數據庫符合3NF后,通常就能很好的達到關系模式規范化的目的,它可以從根本上消除了數據冗余和數據不一致的問題。當然,使用了第三范式設計數據庫后,還需要對表或者相關數據的結構及性能進行全面調整和優化。

2 采用視圖方式

在一些數據量較大的表中,可能只有小部分數據會被訪問,而且是被頻繁的訪問。這時,我們就可以采用視圖方式,把這部分數據建立為視圖。有時,又會有一些數據需要針對不同角色有不同權限的開放,那么這些數據也可以做成視圖,并給視圖賦予不同的權限,這就可以從一定程度上保證了數據的安全性。

3 建立存儲過程

SQL Server 中存儲過程是SQL 語句和流程控制語句的集合。工作中,當某些操作需要使用大量重復的計算時,我們就可以合理使用存儲過程儲存這些操作,完成軟件復用,實現高性能的數據操作。同時,我們在使用存儲過程后,還能能過隔離和加密的方法提高數據庫的安全性。

4 使用索引優化數據庫

應用數據庫中會存儲海量的數據表,人們對其做查詢操作時,若進行全表掃描,會占用相當長的時間。索引與字典的目錄類似,是數據庫中重要的數據結構,它可以通過關鍵值指向表中的數據行。通過合理地創建并使用索引,可以避免上述全表掃描,提高數據查詢的效率,可以減少由于連接造成的資源浪費,優化數據庫性能。我們可以在表或視圖的一列或是多列上建索引,也可以在兩列或多列上建立復合索引。但是,索引在數據庫中會占用存儲空間,會犧牲系統性能,會在時間和空間方面帶來負面影響,因為表越大,索引也就越大。當一個含有索引的表中數據行被更新時,索引也同樣需要更新,需要及時反映數據的變化。在含有索引的表中進行插入、更新和刪除的操作時,速度可能會被影響。所以,在創建索引時必須考慮實際數據庫的查詢需求,以實現基于索引的數據庫優化。

在建立索引時,應該找到平衡點,注意以下問題:

(1)如果處理的關系表比較小, 就不需要建立索引。因為直接遍歷整個表用的時間并不多, 建立索引反而加重了系統負擔。

(2)若表里的數據常會頻繁更新, 那么維護索引也將非常頻繁, 如果這些工作量超出了索引帶給我們的查詢優勢, 則還不如不使用索引。

(3)索引分為聚集索引和非聚集索引。聚集索引的物理存儲按照索引排序。非聚集索引的物理存儲不按照索引排序。聚集索引在插入數據的時候,所花費在“物理存儲的排序” 時間上較長,但查詢數據的速度會比查詢非聚集數據的速度快。在建立時應考慮:

(4)不在 where 子句中進行表達式運算操作(如加減乘除)及函數操作。因為上述操作會使查詢放棄使用索引。

(5)創建及使用觸發器和存儲過程時,開始處進行“SET NOCOUNT ON” 的設置,結束時進行“SET NOCOUNT OFF” 設置,以減少服務器向客戶機發送信息造成的空間上和時間上的浪費。

(6)盡量分解大事務為小事務,提高系統的并發能力。

(7)小范圍內進行查詢時,子查詢會比連接查詢效率高。子查詢是指在WHERE或HAVING子句中又包含了一個SELECT語句。

例如,SELECT * FROM 課程表 WHERE 報名人數>(SELECT AVG(報名人數) FROM 課程表)

語句在執行時由內到外逐層執行,小范圍內效率較高。但如果大范圍內使用了嵌套,且查詢嵌套層次越多, 效率越低, 子查詢會比連接查詢效率低。

(8)如果IN能用BETWEEN代替就用BETWEEN。因為BETWEEN會使用索引,但IN不會用索引。

(9)FROM子句中選擇合適的表序

SQL語句FROM子句中的表名有時會是多張表, SQL Server在對表名進行解析時,會按照自右至左的順序處理,也就是寫在最后的表將被最先處理。所以,若FROM子句中包含多表則應該選擇記錄行最少的表要寫在FROM子句的最后。

6 結論

優化數據庫可以明顯提高計算機系統效率,具有非常深遠的意義。在數據庫設計階段對邏輯結構進行合理化優化,可獲得系統的較小開銷,從根本上提高系統的整體性能。

猜你喜歡
數據庫效率優化
超限高層建筑結構設計與優化思考
房地產導刊(2022年5期)2022-06-01 06:20:14
民用建筑防煙排煙設計優化探討
關于優化消防安全告知承諾的一些思考
一道優化題的幾何解法
提升朗讀教學效率的幾點思考
甘肅教育(2020年14期)2020-09-11 07:57:42
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
跟蹤導練(一)2
主站蜘蛛池模板: 99热这里只有精品在线播放| 国产91特黄特色A级毛片| 欧美第九页| 九色在线视频导航91| 9啪在线视频| 国产麻豆aⅴ精品无码| 亚洲无码A视频在线| 国产97视频在线观看| 欧美成人综合在线| 亚洲国产第一区二区香蕉| 99r在线精品视频在线播放| 91黄色在线观看| 亚洲Av激情网五月天| 午夜视频免费一区二区在线看| 无码中文AⅤ在线观看| 女人爽到高潮免费视频大全| av午夜福利一片免费看| 日韩天堂视频| 国产亚洲精久久久久久久91| 精品国产一区91在线| 亚洲一级毛片在线观| 国产无码高清视频不卡| 国产免费久久精品99re不卡| 伊在人亞洲香蕉精品區| 久热这里只有精品6| 欧美国产成人在线| 欧美第九页| 色综合成人| 欧美伦理一区| 伊人久久大香线蕉综合影视| 国产成人一区| 国产精品一区二区国产主播| 孕妇高潮太爽了在线观看免费| 亚洲成a人片| 国产人免费人成免费视频| 欧美色视频网站| 国产精品成人免费综合| 福利国产微拍广场一区视频在线| 亚洲精品午夜无码电影网| 精品久久香蕉国产线看观看gif| 在线欧美国产| 成人精品免费视频| 制服丝袜亚洲| 永久免费av网站可以直接看的| 久久久噜噜噜久久中文字幕色伊伊| 亚洲首页国产精品丝袜| 99无码熟妇丰满人妻啪啪 | 女人18毛片水真多国产| 国产欧美视频综合二区 | 精品国产欧美精品v| 一级福利视频| jijzzizz老师出水喷水喷出| 国产三级视频网站| 免费无码在线观看| 无码啪啪精品天堂浪潮av| 亚洲AV免费一区二区三区| 白浆免费视频国产精品视频| 亚洲精品成人片在线播放| 日韩精品专区免费无码aⅴ | 国产亚洲精品自在久久不卡 | 国产综合亚洲欧洲区精品无码| 伊人久久大香线蕉综合影视| 91免费国产高清观看| 狠狠色狠狠色综合久久第一次| 亚洲欧美日韩成人高清在线一区| 少妇人妻无码首页| 欧美激情首页| 亚洲综合狠狠| 在线另类稀缺国产呦| 亚洲水蜜桃久久综合网站| 国产精品人人做人人爽人人添| 国产视频你懂得| 香蕉久人久人青草青草| 这里只有精品在线播放| 最新日韩AV网址在线观看| 香蕉久人久人青草青草| 婷婷五月在线| 四虎成人免费毛片| 色偷偷男人的天堂亚洲av| 97人妻精品专区久久久久| 久久午夜夜伦鲁鲁片无码免费| 成人国产精品网站在线看|