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

SQL server數(shù)據(jù)庫(kù)查詢(xún)優(yōu)化探討

2014-09-24 20:00:20薛亞
軟件工程 2014年7期
關(guān)鍵詞:數(shù)據(jù)庫(kù)

薛亞

摘要:數(shù)據(jù)庫(kù)最大的特點(diǎn)是查詢(xún)的便捷性,幾乎所有的數(shù)據(jù)庫(kù)操作都是在查詢(xún)的基礎(chǔ)上進(jìn)行的。查詢(xún)優(yōu)化提高了數(shù)據(jù)庫(kù)的查詢(xún)速度,也給數(shù)據(jù)的維護(hù)帶來(lái)了方便。

關(guān)鍵詞:SQL server;數(shù)據(jù)庫(kù);查詢(xún)優(yōu)化

中圖分類(lèi)號(hào):TP315 文獻(xiàn)標(biāo)識(shí)碼:A

Query Optimization of SQL Server Database

XUE Ya

(Changzhou Technical Institute of Tourism & Commerce,Changzhou 213032,China)

Abstract:Query convenience is the biggest characteristic of databse.Almost all database operations are performed on the basis of the query.Database query optimization can improves the query speed and bring convenicence to maintenance of datadbase.

Keywords:SQL server;database;query optimization

1 引言(Introduction)

在計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)飛速發(fā)展的今天,互聯(lián)網(wǎng)已經(jīng)遍布了世界的各個(gè)角落,應(yīng)用在各行各業(yè)當(dāng)中,其中,數(shù)據(jù)庫(kù)技術(shù)始終占有重要地位[1,2]。SQL server數(shù)據(jù)庫(kù)系統(tǒng)是由微軟公司推出的一種關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng),是可擴(kuò)展性強(qiáng)、高性能和為分布式客戶(hù)機(jī)/服務(wù)器計(jì)算機(jī)所設(shè)計(jì)的數(shù)據(jù)庫(kù)管理系統(tǒng)。SQL server數(shù)據(jù)庫(kù)系統(tǒng)的應(yīng)用十分廣泛。

SQL server數(shù)據(jù)庫(kù)系統(tǒng)要正常的運(yùn)行,就必須對(duì)其進(jìn)行日常的維護(hù),在維護(hù)數(shù)據(jù)庫(kù)系統(tǒng)時(shí),必須要制定詳細(xì)的維護(hù)計(jì)劃,因?yàn)榫S護(hù)任務(wù)中最為重要的目標(biāo)是降低系統(tǒng)發(fā)生故障的時(shí)間。SQL server數(shù)據(jù)庫(kù)的維護(hù)工作非常重要,應(yīng)該要引起數(shù)據(jù)庫(kù)管理人員的充分重視,因?yàn)镾QL server數(shù)據(jù)庫(kù)系統(tǒng)的維護(hù)范圍非常廣泛,包括操作系統(tǒng)的維護(hù)、SQL server數(shù)據(jù)庫(kù)系統(tǒng)的優(yōu)化等。

2數(shù)據(jù)庫(kù)查詢(xún)優(yōu)化技術(shù)概述(Introduce technology

of database query optimization)

在SQL server數(shù)據(jù)庫(kù)系統(tǒng)中,每一次進(jìn)行查詢(xún),數(shù)據(jù)庫(kù)內(nèi)核都需要使用優(yōu)化器優(yōu)化向SQL提交的數(shù)據(jù)操作。在優(yōu)化過(guò)程當(dāng)中,首先SQL要對(duì)句子能夠進(jìn)行優(yōu)化作出判斷,如果發(fā)現(xiàn)無(wú)法進(jìn)行優(yōu)化,那么就要掃描整個(gè)表格,如果可以進(jìn)行優(yōu)化,那么就會(huì)通過(guò)優(yōu)化器來(lái)執(zhí)行索引的選擇。通過(guò)索引來(lái)判斷能夠使用的索引,并且評(píng)定每個(gè)句子的開(kāi)銷(xiāo)。下面對(duì)SQL server查詢(xún)優(yōu)化技術(shù)進(jìn)行一下簡(jiǎn)單概述:

2.1 自動(dòng)查詢(xún)優(yōu)化技術(shù)

SQL server的自動(dòng)查詢(xún)優(yōu)化技術(shù)由基于開(kāi)銷(xiāo)的查詢(xún)優(yōu)化器來(lái)進(jìn)行的,當(dāng)提交一個(gè)SQL語(yǔ)句時(shí),這個(gè)語(yǔ)句只是表明想要從數(shù)據(jù)庫(kù)中得到什么樣的結(jié)果,對(duì)于怎么樣得到結(jié)果,SQL語(yǔ)句不會(huì)涉及。給予開(kāi)銷(xiāo)的查詢(xún)優(yōu)化器以CPU的使用率和磁盤(pán)I/O作為判斷依據(jù)來(lái)為每個(gè)可能的執(zhí)行規(guī)劃賦予開(kāi)銷(xiāo)值,然后優(yōu)化器會(huì)選擇開(kāi)銷(xiāo)值最小的執(zhí)行規(guī)劃來(lái)執(zhí)行。

2.2 索引技術(shù)

在SQL server數(shù)據(jù)庫(kù)中,索引是一個(gè)物理性的數(shù)據(jù)庫(kù)結(jié)果,是單獨(dú)存在的,在檢索數(shù)據(jù)的時(shí)候,對(duì)磁盤(pán)的讀寫(xiě)都需要占用很大的開(kāi)銷(xiāo),如果缺少了索引,就必須要對(duì)磁盤(pán)進(jìn)行識(shí)別。有了索引的幫助,查詢(xún)數(shù)據(jù)只需要索引頁(yè)面就行,索引能夠很大程度上提高查詢(xún)檢索速度。因此,要擁有查詢(xún)方便快捷的數(shù)據(jù)庫(kù),索引是必不可少的。

2.3 存儲(chǔ)過(guò)程的使用

目前,client/server應(yīng)用程序已經(jīng)被廣泛使用。在網(wǎng)絡(luò)中,SQL查詢(xún)性能的一個(gè)很重要的體現(xiàn)就是如何最大程度上使用資源而減少流量。使用存儲(chǔ),目的是減少流量,提高速度。

2.4 使用面向?qū)ο蟮姆椒▉?lái)實(shí)現(xiàn)SQL server查詢(xún)優(yōu)化

所謂的面向?qū)ο蟮牟樵?xún)方法,把對(duì)象作為中心點(diǎn),以類(lèi)和繼承作為構(gòu)造機(jī)制,從而更好的設(shè)計(jì)和構(gòu)建相應(yīng)的軟件系統(tǒng)。

2.5 影響查詢(xún)效率的因素

SQL server數(shù)據(jù)庫(kù)系統(tǒng)在處理查詢(xún)計(jì)劃時(shí),首先要系統(tǒng)對(duì)詞法和語(yǔ)法進(jìn)行檢查,檢查完之后將其遞交給SQL server的查詢(xún)優(yōu)化器,優(yōu)化器會(huì)對(duì)數(shù)據(jù)是否存在和有效進(jìn)行索引,再進(jìn)行掃描、檢索和連接,這個(gè)計(jì)劃的執(zhí)行是在同一時(shí)間進(jìn)行的,通過(guò)分析來(lái)對(duì)計(jì)劃的執(zhí)行進(jìn)行評(píng)價(jià),通過(guò)開(kāi)銷(xiāo)最小的計(jì)劃來(lái)實(shí)現(xiàn),然后預(yù)編譯模塊會(huì)對(duì)語(yǔ)句進(jìn)行處理,最后生成了查詢(xún)規(guī)劃,查詢(xún)規(guī)劃會(huì)在恰當(dāng)?shù)臅r(shí)間提交給系統(tǒng),系統(tǒng)會(huì)將執(zhí)行結(jié)果反饋給客戶(hù)。在SQL server數(shù)據(jù)庫(kù)中影響查詢(xún)效率的因素主要有五點(diǎn):

第一,當(dāng)沒(méi)有索引或者索引無(wú)法使用的時(shí)候。因?yàn)樗饕軌蚶@開(kāi)全表掃描,能夠有效提高查詢(xún)速度。第二,在進(jìn)行查詢(xún)工作的時(shí)候,缺少計(jì)算列的時(shí)候是無(wú)法進(jìn)行優(yōu)化查詢(xún)的。第三,查詢(xún)出來(lái)的數(shù)據(jù)量很大的時(shí)候也會(huì)影響查詢(xún)效率。第四,返回了不必要的行和列。第五,如果查詢(xún)的時(shí)候語(yǔ)句選擇不合理,就無(wú)法進(jìn)行優(yōu)化。語(yǔ)句選擇不合理的情況主要有查詢(xún)條件中的操作不合適,多個(gè)選擇條件進(jìn)行查詢(xún)時(shí),條件的次序不是最優(yōu)。

3 SQL server數(shù)據(jù)庫(kù)的查詢(xún)優(yōu)化方法(The method

of SQL server database query optimization)

3.1 建立索引

并不是所有的數(shù)據(jù)庫(kù)都有索引,因?yàn)楹芏鄶?shù)據(jù)庫(kù)不需要使用索引,索引是否應(yīng)該存在有一些爭(zhēng)議,究其原因,主要是數(shù)據(jù)庫(kù)系統(tǒng)當(dāng)中添加索引之后,再對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢(xún)的時(shí)候,就無(wú)法對(duì)數(shù)據(jù)庫(kù)中的所有內(nèi)容進(jìn)行掃描和查詢(xún),只能在索引范圍之內(nèi)進(jìn)行查詢(xún)了?;谶@樣一種情況,從性能角度來(lái)說(shuō),目標(biāo)表記錄的總數(shù)是固定的,因此,只有當(dāng)查詢(xún)結(jié)果比較少的時(shí)候,索引才會(huì)有較高的查詢(xún)效率,如果查詢(xún)結(jié)果很多,那么索引會(huì)導(dǎo)致查詢(xún)效率降低,這也是索引的存在有爭(zhēng)議的原因。在實(shí)際情況中,數(shù)據(jù)庫(kù)系統(tǒng)要根據(jù)應(yīng)用目的和實(shí)際狀況進(jìn)行合理配置,那些記錄數(shù)較多的數(shù)據(jù)庫(kù)應(yīng)該要建立索引,從而有效提高查詢(xún)效率。

3.2 SQL 查詢(xún)語(yǔ)句的優(yōu)化策略

一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)的反應(yīng)速度的快慢,最為直接的表現(xiàn)就是優(yōu)化器的計(jì)算方法。另外,優(yōu)化器的測(cè)量和查詢(xún)表中的其他內(nèi)容和服務(wù)存在關(guān)聯(lián)。由此可見(jiàn),讓優(yōu)化器選擇恰當(dāng)?shù)乃饕捅磉_(dá)的連接手段是十分重要的。

3.3 避免全表掃描

一般情況下,數(shù)據(jù)庫(kù)在進(jìn)行查詢(xún)或者select語(yǔ)句的處理過(guò)程中,會(huì)掃描全表,在執(zhí)行的時(shí)候,如果出現(xiàn)數(shù)據(jù)更新和數(shù)據(jù)刪除的情況也會(huì)掃描全表。如果添加索引的話(huà),能夠讓數(shù)據(jù)訪問(wèn)的速度得到提升。而要建立科學(xué)合理的索引,那就必須要充分了解數(shù)據(jù),然后在實(shí)踐中不斷進(jìn)行優(yōu)化。

3.4 合理使用索引

索引在數(shù)據(jù)庫(kù)中占有重要的地位,其對(duì)查詢(xún)速度的提高有著十分明顯的效果[3]。但是創(chuàng)建和使用索引的時(shí)候,索引都必須跟系統(tǒng)的查詢(xún)需求一致。

3.5 選擇恰當(dāng)?shù)牟僮鞣?,提高查?xún)效率

應(yīng)該要盡可能的少用(NOT)IN,而使用(NOT)EXISTS,此外,還要盡量避免使用OR運(yùn)算符,>和<可以用>=和<=來(lái)代替,同時(shí),對(duì)于諸如IS NULL和 IS NOT NULL等操作也要盡量避免,另外,還要注意LIKE操作符的正確使用。

3.6 避免使用SELECT進(jìn)行查詢(xún)

endprint

在使用SQL語(yǔ)句的時(shí)候,一定要特別注意書(shū)寫(xiě)細(xì)節(jié),避免使用SELECT來(lái)進(jìn)行查詢(xún),在進(jìn)行篩選的時(shí)候,盡量避免使用表達(dá)式,而要用常量來(lái)代替,而且如果表中數(shù)據(jù)量很大的話(huà),要特別注意WHERE子句中的篩選條件的順序,因?yàn)檫@會(huì)直接影響查詢(xún)效率。

3.7 SQL語(yǔ)句對(duì)索引的利用

在實(shí)際的應(yīng)用中,聚集索引的效率要比非聚集索引要高,聚集索引能夠?qū)?shù)據(jù)在物理順序上進(jìn)行排列,計(jì)算在其中存在一些重復(fù)值,但是仍然集中在一起,這就能夠?qū)⒉樵?xún)范圍鎖定在一個(gè)較小范圍之內(nèi),可以有效提高掃描速度。

3.8 合理使用臨時(shí)表

針對(duì)那些數(shù)據(jù)量很大,但是數(shù)據(jù)變化不是很多的數(shù)據(jù)庫(kù)表,可以將子集排序,同時(shí)創(chuàng)建臨時(shí)表,這就有效防止了多重排序操作,提高了查詢(xún)速度。

3.9 建立視圖

建立視圖可以幫助人們更方便的進(jìn)行數(shù)據(jù)查詢(xún)等操作,因?yàn)橐晥D可以讓人們重點(diǎn)關(guān)注他們想要了解和感興趣的數(shù)據(jù)和信息。在建立視圖的時(shí)候一定要控制視圖的規(guī)模,如果視圖的規(guī)模比基本表要小,那么,查詢(xún)速度會(huì)大大提高。

4 SQL查詢(xún)安全監(jiān)控系統(tǒng)(The SQL query safety

monitoring system)

SQL數(shù)據(jù)庫(kù)系統(tǒng)的安全性也是人們關(guān)注的焦點(diǎn)[4-6],如果發(fā)現(xiàn)用戶(hù)進(jìn)行非法操作,系統(tǒng)就會(huì)自行進(jìn)行處理。在監(jiān)控攻擊行為的時(shí)候,系統(tǒng)會(huì)對(duì)非法用戶(hù)發(fā)出警告,同時(shí)還會(huì)對(duì)相關(guān)信息進(jìn)行記錄,在必要的情況下,還可能會(huì)阻斷網(wǎng)絡(luò)。在SQL系統(tǒng)中,有信息獲取、分析機(jī)和控制臺(tái)三個(gè)子系統(tǒng),這三個(gè)系統(tǒng)之間會(huì)存在交互工作。

4.1 主機(jī)來(lái)實(shí)現(xiàn)報(bào)警

開(kāi)啟探頭之后,可以獨(dú)立監(jiān)控?cái)?shù)據(jù)庫(kù),給予數(shù)據(jù)庫(kù)中的相關(guān)信息,把信息根據(jù)一定的規(guī)則進(jìn)行分析,通過(guò)分析,判斷數(shù)據(jù)庫(kù)是否存在安全隱患,并且確定是否需要發(fā)出危險(xiǎn)警報(bào)。如果某臺(tái)的計(jì)算機(jī)在進(jìn)行非法操作的時(shí)候,系統(tǒng)會(huì)記錄該計(jì)算機(jī)的IP地址,并且按照上述步驟進(jìn)行操作,控制臺(tái)一旦收到危險(xiǎn)警報(bào),就會(huì)根據(jù)指令來(lái)執(zhí)行阻斷指令。分析機(jī)把阻斷指令傳遞給探頭,探頭會(huì)調(diào)用SQL server數(shù)據(jù)庫(kù)系統(tǒng)中的API函數(shù),從而對(duì)進(jìn)行非法操作的計(jì)算機(jī)的操作行為進(jìn)行攔截,保證數(shù)據(jù)庫(kù)中的數(shù)據(jù)和信息不會(huì)被泄漏、丟失和破壞。

4.2 下發(fā)命令

當(dāng)控制臺(tái)發(fā)出指令之后,指令會(huì)傳遞給分析機(jī)和信息獲取部分,最后會(huì)通過(guò)對(duì)模塊的響應(yīng)來(lái)實(shí)現(xiàn)指令的操作。

4.3 傳送相關(guān)數(shù)據(jù)

探頭、分析機(jī)和控制臺(tái)三者之間的數(shù)據(jù)傳遞都是通過(guò)端口來(lái)進(jìn)行的,要有效傳送數(shù)據(jù)和信息,這些信息的格式是要統(tǒng)一的,如果不是統(tǒng)一的標(biāo)準(zhǔn)格式,信息無(wú)法傳遞和接收。

5 結(jié)論(Conclusion)

SQL server數(shù)據(jù)庫(kù)系統(tǒng)是一個(gè)很龐大的系統(tǒng),在應(yīng)用過(guò)程中,數(shù)據(jù)庫(kù)的運(yùn)行速度和運(yùn)行效率是十分重要的,有些數(shù)據(jù)庫(kù)運(yùn)行速度慢、運(yùn)行效率低,嚴(yán)重影響了數(shù)據(jù)庫(kù)的性能。因此,在設(shè)計(jì)和開(kāi)發(fā)數(shù)據(jù)庫(kù)的時(shí)候,一定要將數(shù)據(jù)庫(kù)的運(yùn)行速度和效率放到重要位置。要有效提高數(shù)據(jù)庫(kù)的使用效率和查詢(xún)效率,就必須對(duì)數(shù)據(jù)庫(kù)進(jìn)行全面的分析,了解數(shù)據(jù)庫(kù)的缺陷,優(yōu)化語(yǔ)句設(shè)計(jì),從而發(fā)現(xiàn)語(yǔ)句查詢(xún)優(yōu)化的關(guān)鍵。進(jìn)行數(shù)據(jù)庫(kù)查詢(xún)優(yōu)化是一項(xiàng)復(fù)雜的工作,需要從整體的角度來(lái)綜合處理,要從各個(gè)方面分析影響查詢(xún)優(yōu)化的因素,依據(jù)實(shí)際情況來(lái)優(yōu)化SQL語(yǔ)句??茖W(xué)合理的設(shè)計(jì)數(shù)據(jù)庫(kù)是數(shù)據(jù)庫(kù)運(yùn)行良好的基礎(chǔ),在此基礎(chǔ)上,對(duì)數(shù)據(jù)庫(kù)進(jìn)行優(yōu)化能夠提高查詢(xún)效率,從而滿(mǎn)足用戶(hù)的需求。

參考文獻(xiàn)(References)

[1] 劉芬.關(guān)于SQL數(shù)據(jù)庫(kù)的性能優(yōu)化問(wèn)題的研究[J].軟件,2012,33(6):139-141.

[2] 楊潤(rùn)秋,張慶敏,張愷翊.基于防火墻技術(shù)對(duì)網(wǎng)絡(luò)安全防護(hù)的認(rèn)識(shí)[J].計(jì)算機(jī)光盤(pán)軟件與應(yīng)用,2013(15):137;139.

[3] 李麗宏,趙娜.卡爾曼濾波在動(dòng)態(tài)汽車(chē)衡稱(chēng)量中的應(yīng)用[J].軟件,2012,33(3):25-28.

[4] 李輝,王至邀.一種多條件分頁(yè)查詢(xún)優(yōu)化方法的設(shè)計(jì)[J].計(jì)算機(jī)工程,2010(2):23-24.

[5] 王力,王成良.基于免疫遺傳算法的關(guān)系型數(shù)據(jù)庫(kù)查詢(xún)優(yōu)化技術(shù)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2008,18(1):72-75.

[6] 石劍平,蔡光程.SQL Server 2005查詢(xún)優(yōu)化技術(shù)的研究與實(shí)現(xiàn)[J].信息系統(tǒng)工程,2010,23(5):78-79.

作者簡(jiǎn)介:

薛 亞(1979-),女,碩士,講師.研究領(lǐng)域:計(jì)算機(jī)軟件及應(yīng)用.

endprint

猜你喜歡
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
兩種新的非確定數(shù)據(jù)庫(kù)上的Top-K查詢(xún)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
主站蜘蛛池模板: 日韩无码黄色| 亚洲女同欧美在线| 国产午夜看片| 熟女日韩精品2区| 国产资源免费观看| 国产第一页第二页| 人禽伦免费交视频网页播放| 华人在线亚洲欧美精品| 国产极品粉嫩小泬免费看| 91在线免费公开视频| 久久99久久无码毛片一区二区 | 国产特一级毛片| 欧美色99| 丰满的熟女一区二区三区l| 国产高清免费午夜在线视频| 一本久道久综合久久鬼色| 免费精品一区二区h| 国产经典三级在线| 亚洲日韩精品欧美中文字幕| 亚洲第一视频网| 91久久偷偷做嫩草影院免费看 | 免费中文字幕在在线不卡| 国产中文在线亚洲精品官网| 国产在线八区| P尤物久久99国产综合精品| 国产成人在线无码免费视频| 男女男免费视频网站国产| 在线观看无码av免费不卡网站| www中文字幕在线观看| 亚洲精品天堂自在久久77| 网友自拍视频精品区| 欧美一级高清片欧美国产欧美| 国产自在自线午夜精品视频| 国产日韩精品一区在线不卡| 亚洲天堂网2014| www.99在线观看| yjizz视频最新网站在线| 国产97色在线| 亚洲视频免| 女人18毛片久久| 九色国产在线| 四虎永久在线精品影院| 国产成人综合欧美精品久久| 国产女人水多毛片18| 亚洲精品动漫| 亚洲午夜福利在线| 四虎精品国产永久在线观看| 91年精品国产福利线观看久久| 精品国产aⅴ一区二区三区 | 99热在线只有精品| 东京热一区二区三区无码视频| 四虎永久在线| 亚洲网综合| 2021国产精品自拍| 久久综合九色综合97网| 国产在线视频二区| 国产欧美中文字幕| 亚洲开心婷婷中文字幕| 久久网欧美| 亚洲永久免费网站| 亚洲91在线精品| 亚洲精品天堂自在久久77| 久久这里只有精品免费| 97在线视频免费观看| 国产精品午夜电影| 四虎影视库国产精品一区| 国产精品第三页在线看| 亚洲永久精品ww47国产| 婷婷成人综合| 日本在线免费网站| 毛片久久网站小视频| 2020国产在线视精品在| 新SSS无码手机在线观看| 色播五月婷婷| 国产精品私拍99pans大尺度| 亚洲 欧美 偷自乱 图片| 欧美成人综合视频| 国产成人福利在线| 四虎亚洲精品| av午夜福利一片免费看| 国产亚洲现在一区二区中文| 91久久精品日日躁夜夜躁欧美|