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

基于SQL Server的SQL優化

2008-12-31 00:00:00楊亞萍
電腦知識與技術 2008年35期

摘要:應用SQL不僅要確保它的正確性,同時也要保證SQL有良好的執行性能。該文分析介紹了幾種常用的SQL優化方法。論述了SQL Server數據庫優化機制。

關鍵詞:SQL Server;數據庫;優化

中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2008)35-2536-02

SQL Optimization Based on SQL Database

YANG Ya-ping

(Chien-shiung Institute of Technology, Taicang 215411, China)

Abstract: Not only Correctness but also efficiency one writes SQL statements. This article introduces and analyses of SQL, which include proper indexes design .This paper research,some questions of SQL performance optimization with SQ L SERVER such as operator operation. some suggestion of optimization bate on pure theory would misadvise user of SQL.

Key words: SQL Server; database; optimization

1 前言

微軟公司的SQL Server數據庫因為其價格便宜、功能強大、容易操作等特點已經被中國中小企業廣泛應用,但是SQL Server數據庫優化是一個常常被人們忽視的問題。甚至有人認SQL Server數據庫優化并不重要,但事實是SQL Server數據庫是一種高性能的數據庫管理系統,在客戶/服務器體系結構中得到了廣泛的應用。基于SQL Server的數據庫應用系統的性能包括系統的響應時間、吞吐量、系統的并行處理能力等。從數據庫設計、查詢結構、并行處理、客戶/服務器模式、應用編程等方面進行優化調整,可以有效地提高系統的性能。SQL Server數據庫的優化方法還有很多,比如優化內存、優化數據庫磁盤等等。下面就SQL Server環境下的SQL優化方法探討做些簡單的探討。

2 與SQL Server數據庫有關的硬件設計性能的優化

與SQL Server有關的硬件設計包括CPU、內存、磁盤子系統和網絡。

2.1 系統處理器(CPU)

根據自己的具體需要確定CPU結構的過程就是估計在硬件平臺上占用CPU的工作量的過程。我們可以使用 System Monitor確定CPU的使用率,如果以75%或更高的速率長時間運行,就可能碰到了CPU瓶頸問題,這時應該升級CPU。

2.2 內存(RAM)

為SQL Server方案確定合適的內存設置對實現良好的性能是至關重要的。SQL Server用內存做過程緩存、數據和索引項緩存、靜態服務器開支和設置開支。SQL Server最多能利用 2GB虛擬內存,這也是最大的設置值。還有點必須考慮的是Windows2003 Server和它的所有和關服務也要占用內存。

2.3 磁盤I/O系統

設計1個好的磁盤I/O系統是實現良好的SQL Server方案的一個很重要的方面。這里討論的磁盤I/O系統至少有1個磁盤控制設備和1個或多個硬盤單元,考慮到磁盤設置和文件系統,有如下特點:控制器有高速緩存;總線主板上有處理器,可以減少對系統CPU的中斷;異步讀寫支持;32位RAID支持;高速SCSTU 320控制器,讀寫速度320M B/S。

由I/O系統發生的瓶頸問題是數據庫系統可能遇到的最常見的同硬件有關的問題。配置很差的I/O系統引起性能問題的嚴重程度僅次于編寫很差的SQL語句。解決I/O系統有關的問題最簡單的辦法就是增加磁盤驅動器。

3 SQL Server數據庫的查詢優化

查詢優化首先要注意的一個問題是存儲過程,設計優良的應用程序都應當使用存儲過程,不論是否將應用程序的業務邏輯寫入存儲過程都應如此,甚至連沒有業務邏輯組件的標準SQL語句,在用參數打包成存儲過程后也能獲得性能收益,編譯進存儲過程的SQL語句在執行時可省去大量的處理。

存儲過程的另一個優點是客戶端執行請求使用網絡的效率往往比將等效的SQL語句發送到服務器高。例如。在SQL Server中假設應用程序需要將一個人的二進制值插入image數據列,為使用INSERT語句發送數據,該應用程序必須將該二進制值換為字符串(其大小翻兩倍),然后發送到服務器,服務器再將該值轉換回二進制格式以存儲在image列中。相反,應用程序可以創建下列格式的存儲過程:CREATE PROCEDURE Procedurel (l pl image)ASINSERT Tablel VALUES (a pl)。當客戶端應用程序請求執行過程P時,image參數值將一直以二進制格式發送到服務器,從而節省處理時間并減少網絡流量。數據庫系統的并發控制也是影響性能的一個重要方面。為了避免多個用戶同時操作可能導致的數據不一致,SQL Server采用了封鎖機制。SQL Server中的鎖可分為共享鎖(shared lock):由讀取頁的進程所使用。共享鎖只在特定頁的讀取過程中有效。修改鎖(update lock),用于將要修改數據的進程,當數據發生變化時,修改鎖自動改為獨占鎖。獨占鎖(exclusive lock),用于當前正在修改數據的進程。獨占鎖作用于所有影響到的頁上直至事務結束。

4 SQL Server數據庫設計的優化

4.1 SQL Server數據庫的規范化

數據庫設計方面包括表的設計、表的數量和大小、表的設計規范程序、游標的使用等等都會對運行效率有重要影響。其中涉及到數據庫規范化問題時,數據庫被規范化后,減少了數據的冗余,數據行趨向變窄這樣SQL SERVER數據庫的每頁可以包含更多的行,從而加速表的掃描和返回多行的查詢,改進了單個表的查詢性能。但是,另一方面,當查詢涉及多個表時,則需要更多的連接把信息從多個表中組合到一起,這會引起大量的CPU和I/O處理。所以有時有意違反規范化設計的規則,這是數據庫的非規范化。就像剛才說的數據庫的規范化原則會產生較少的列和更多的表,但表關系也許需要通過復雜的合并來處理, 這樣會降低系統的性能。在某些情況下,非規范化可以改善系統的性能,通過重新定義實體以減少外部屬性數據或行數據的開支。

4.2 SQL Server數據庫索引的選擇

索引是常見的數據庫對象,它的設置好壞、使用是否得當,極大地影響數據庫應用程序和數據庫的性能。在良好的數據庫設計基礎上,能有效地使用索引是 SQL SERVER取得高性能的基礎。如果對于一個未建立索引的表執行查詢操作, SQL SERVER必須進行表掃描,從磁盤上讀表的每一個數據頁,從而挑選出所有符合條件的數據行。特別是當一個表有很多行時,就會浪費大量時間,效率太低。然而在建立索引之后,SQL SERVER將根據索引的指示,直接定位到需要查詢的數據行,從而加快 SQL SERVER 的數據檢索操作。這樣利用索引可以避免表掃描,并減少因查詢而造成的 I/O 開銷。

建立索引是以最小的方法得到所需數據的有效方法。對于每一個查詢SQL Server優化器將確定是否有相關的索引可以用于訪問數據。一個利用索引的訪問與全表掃描相比,可以大大減少查詢時間。索引可分為聚集索引與非聚集索引兩種,前者對數據進行物理排序,速度快,但一個表只能建立一個;后者僅對數據進行邏輯排序,速度相對聚集索引慢,但一個表可以建立多個。索引的建立雖然加快了查詢,另一方面卻降低了數據更新的速度,這是因為新數據不僅要增加到表中,也要增加到索引中。另外,索引還需要額外的磁盤空間和維護開銷。因此設計時應選擇有效的索引,避免過多引用索引。通常只為對應用程序起關鍵作用的查詢,或者被很多用戶頻繁使用的查詢創建索引。所以也要注意在使用索引的時候一定要謹慎,要選擇恰當的索引,盡量減少磁盤訪問的次數,提高整個系統的性能。

5 結束語

隨著 SQL 數據庫中數據量的增加,運行效率將是數據庫應用與管理中的關鍵問題。而影響其效率的因素是多方面的,本文首先介紹了SQL Server環境下的SQL優化的情況,然后本文對SQL Server數據庫有關的硬件設計性能的優化、SQL Server數據庫查詢符號的優化、數據庫的設計等方面提出了一些對數據庫的優化技術,當然實現優化的方法還有很多,要根據具體情況而定。對于不同的應用情況,我們應該具體情況具體分析,各方面優化措施綜合運用,本文對從優化方法的探討對有效提高整個數據庫的運行效率有一定的幫助。

參考文獻:

[1] 劉波,李陶深,楊柳,嚴毅.MIS中數據庫性能優化的研究[J].計算機工程.2002,27(7):98-100.

[2] 谷震離.查詢語句對SQL Server數據庫查詢性能優化分析[J].福建電腦,2007(3):21-22.

[3] 王振輝,吳廣茂.SQL查詢語句優化研究[J].計算機應用,2005,25(12):207-208.

[4] 楊庚.關系數據庫SQL語言查詢過程的分析和優化設計[J].計算機工程與應用,1999(11):87-88.

主站蜘蛛池模板: 亚洲清纯自偷自拍另类专区| 亚洲水蜜桃久久综合网站| 国产成人综合欧美精品久久| 日韩精品亚洲一区中文字幕| 色哟哟色院91精品网站| 国产精品久久自在自线观看| 久久免费看片| 欧美成人午夜影院| 亚洲午夜福利在线| 国产成人综合日韩精品无码不卡| 国产成人免费高清AⅤ| 成人免费午夜视频| 极品av一区二区| 国模极品一区二区三区| 亚洲免费黄色网| 怡春院欧美一区二区三区免费| 亚洲最黄视频| 爽爽影院十八禁在线观看| 国产在线观看成人91 | 制服丝袜无码每日更新| 99成人在线观看| 中文字幕在线看视频一区二区三区| 欧美激情第一欧美在线| 日韩黄色大片免费看| 色天天综合| 欧美日韩免费观看| 日韩成人免费网站| 91小视频版在线观看www| 风韵丰满熟妇啪啪区老熟熟女| 国产日韩欧美中文| AV不卡国产在线观看| 欧美日韩高清在线| 少妇人妻无码首页| 麻豆AV网站免费进入| 日本高清有码人妻| 国产91视频观看| 播五月综合| 色婷婷亚洲综合五月| 色视频久久| 欧美色图久久| 一本一道波多野结衣av黑人在线| 午夜精品久久久久久久2023| 亚洲最新在线| 欧美福利在线播放| 国产XXXX做受性欧美88| 欧美一级夜夜爽| 91探花在线观看国产最新| 国产亚洲欧美在线专区| 国产激情无码一区二区三区免费| 国产欧美日韩视频怡春院| 国产免费黄| v天堂中文在线| 久久精品国产电影| 成人午夜免费观看| 日韩国产综合精选| 久久精品这里只有精99品| 日本人妻丰满熟妇区| 深爱婷婷激情网| 国产视频大全| 91久久国产综合精品女同我| 成人日韩视频| 午夜视频www| 99久久精品国产自免费| 精品无码视频在线观看| 九九热精品免费视频| 国产地址二永久伊甸园| 专干老肥熟女视频网站| 国产欧美日韩18| 午夜日本永久乱码免费播放片| 亚洲欧美不卡视频| 国产网站免费观看| 欧美日韩精品一区二区在线线| 欧美黄色网站在线看| 国产99精品久久| 色综合久久88| 九九视频免费在线观看| 亚洲中文无码av永久伊人| 成人午夜网址| 国产精品3p视频| 在线观看精品自拍视频| 亚洲成人精品| 欧美日韩一区二区在线播放|