• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      數(shù)據(jù)庫查詢與統(tǒng)計(jì)分析

      2019-10-21 07:29:36王永剛王秀霞
      科學(xué)與財(cái)富 2019年7期
      關(guān)鍵詞:統(tǒng)計(jì)數(shù)據(jù)庫

      王永剛 王秀霞

      摘 要:數(shù)據(jù)庫最大的特點(diǎn)是查詢的便捷性,幾乎所有的數(shù)據(jù)庫操作都是在查詢的基礎(chǔ)上進(jìn)行的。查詢優(yōu)化提高了數(shù)據(jù)庫的查詢速度,也給數(shù)據(jù)的維護(hù)帶來了方便。本文對(duì) 數(shù)據(jù)庫查詢與統(tǒng)計(jì)進(jìn)行分析。

      關(guān)鍵詞:數(shù)據(jù)庫;查詢;統(tǒng)計(jì)

      引言

      數(shù)據(jù)庫性能問題一直是決策者及技術(shù)人員共同關(guān)注的焦點(diǎn),影響數(shù)據(jù)庫性能的一個(gè)重要因素就是SQL查詢語句的效率。SQL 是結(jié)構(gòu)化查詢語言(Structured Query Language)的縮寫,SQL語言的功能包括數(shù)據(jù)查詢、數(shù)據(jù)操縱、數(shù)據(jù)定義和數(shù)據(jù)控制等部分,主要應(yīng)用于關(guān)系數(shù)據(jù)庫,實(shí)現(xiàn)了關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)檢索。

      一、數(shù)據(jù)庫查詢優(yōu)化技術(shù)概述

      1.1 自動(dòng)查詢優(yōu)化技術(shù)

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

      1.2 索引技術(shù)

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

      1.3影響查詢效率的因素

      SQL server數(shù)據(jù)庫系統(tǒng)在處理查詢計(jì)劃時(shí),首先要系統(tǒng)對(duì)詞法和語法進(jìn)行檢查,檢查完之后將其遞交給SQL server的查詢優(yōu)化器,優(yōu)化器會(huì)對(duì)數(shù)據(jù)是否存在和有效進(jìn)行索引,再進(jìn)行掃描、檢索和連接,這個(gè)計(jì)劃的執(zhí)行是在同一時(shí)間進(jìn)行的,通過分析來對(duì)計(jì)劃的執(zhí)行進(jìn)行評(píng)價(jià),通過開銷最小的計(jì)劃來實(shí)現(xiàn),然后預(yù)編譯模塊會(huì)對(duì)語句進(jìn)行處理,最后生成了查詢規(guī)劃,查詢規(guī)劃會(huì)在恰當(dāng)?shù)臅r(shí)間提交給系統(tǒng),系統(tǒng)會(huì)將執(zhí)行結(jié)果反饋給客戶。在SQL server數(shù)據(jù)庫中影響查詢效率的因素主要有五點(diǎn):第一,當(dāng)沒有索引或者索引無法使用的時(shí)候。因?yàn)樗饕軌蚶@開全表掃描,能夠有效提高查詢速度。第二,在進(jìn)行查詢工作的時(shí)候,缺少計(jì)算列的時(shí)候是無法進(jìn)行優(yōu)化查詢的。第三,查詢出來的數(shù)據(jù)量很大的時(shí)候也會(huì)影響查詢效率。第四,返回了不必要的行和列。第五,如果查詢的時(shí)候語句選擇不合理,就無法進(jìn)行優(yōu)化。語句選擇不合理的情況主要有查詢條件中的操作不合適,多個(gè)選擇條件進(jìn)行查詢時(shí),條件的次序不是最優(yōu)。

      二、數(shù)據(jù)庫的查詢與統(tǒng)計(jì)優(yōu)化方法

      2.1 建立索引

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

      2.2 SQL 查詢語句的優(yōu)化策略

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

      2.3 避免全表掃描

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

      2.4 合理使用索引

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

      2.5 選擇恰當(dāng)?shù)牟僮鞣岣卟樵冃?/p>

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

      2.6 避免使用SELECT進(jìn)行查詢

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

      2.7 SQL語句對(duì)索引的利用

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

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

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

      2.9 建立視圖

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

      三、 SQL查詢安全監(jiān)控系統(tǒng)

      SQL數(shù)據(jù)庫系統(tǒng)的安全性也是人們關(guān)注的焦點(diǎn),如果發(fā)現(xiàn)用戶進(jìn)行非法操作,系統(tǒng)就會(huì)自行進(jìn)行處理。在監(jiān)控攻擊行為的時(shí)候,系統(tǒng)會(huì)對(duì)非法用戶發(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ì)存在交互工作。

      3.1 主機(jī)來實(shí)現(xiàn)報(bào)警

      開啟探頭之后,可以獨(dú)立監(jiān)控?cái)?shù)據(jù)庫,給予數(shù)據(jù)庫中的相關(guān)信息,把信息根據(jù)一定的規(guī)則進(jìn)行分析,通過分析,判斷數(shù)據(jù)庫是否存在安全隱患,并且確定是否需要發(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ù)指令來執(zhí)行阻斷指令。分析機(jī)把阻斷指令傳遞給探頭,探頭會(huì)調(diào)用SQL server數(shù)據(jù)庫系統(tǒng)中的API函數(shù),從而對(duì)進(jìn)行非法操作的計(jì)算機(jī)的操作行為進(jìn)行攔截,保證數(shù)據(jù)庫中的數(shù)據(jù)和信息不會(huì)被泄漏、丟失和破壞。

      3.2 下發(fā)命令

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

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

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

      四、結(jié)束語

      數(shù)據(jù)庫系統(tǒng)是一個(gè)很龐大的系統(tǒng),在應(yīng)用過程中,數(shù)據(jù)庫的運(yùn)行速度和運(yùn)行效率是十分重要的,有些數(shù)據(jù)庫運(yùn)行速度慢、運(yùn)行效率低,嚴(yán)重影響了數(shù)據(jù)庫的性能。因此,在設(shè)計(jì)和開發(fā)數(shù)據(jù)庫的時(shí)候,一定要將數(shù)據(jù)庫的運(yùn)行速度和效率放到重要位置。

      參考文獻(xiàn):

      [1]朱敏英.數(shù)據(jù)庫SQL查詢語句優(yōu)化研究[J].信息與電腦(理論版),2013(06):117-119.

      [2]苗雯娟.MS SQL Server數(shù)據(jù)庫查詢優(yōu)化技巧研究[J].企業(yè)導(dǎo)報(bào),2012(16):274.

      猜你喜歡
      統(tǒng)計(jì)數(shù)據(jù)庫
      數(shù)據(jù)庫
      數(shù)據(jù)庫
      2008—2015我國(guó)健美操科研論文的統(tǒng)計(jì)與分析
      人間(2016年27期)2016-11-11 17:33:19
      山東省交通運(yùn)輸投資計(jì)劃管理信息系統(tǒng)的設(shè)計(jì)
      我國(guó)居民收入與消費(fèi)關(guān)系的統(tǒng)計(jì)分析
      市場(chǎng)經(jīng)濟(jì)背景下的會(huì)計(jì)統(tǒng)計(jì)發(fā)展探究
      商(2016年27期)2016-10-17 05:50:19
      統(tǒng)計(jì)信息化在企事業(yè)單位人力資源管理中的應(yīng)用研究
      數(shù)據(jù)庫
      信息化時(shí)代如何加強(qiáng)統(tǒng)計(jì)信息化管理
      數(shù)據(jù)庫
      神农架林区| 泉州市| 洪雅县| 晋中市| 黎城县| 溧水县| 三原县| 望谟县| 淮南市| 平邑县| 那坡县| 泰兴市| 石泉县| 舞钢市| 伊吾县| 微山县| 上思县| 甘泉县| 延川县| 寿宁县| 镇巴县| 汉中市| 呼图壁县| 永清县| 黔江区| 石楼县| 韶山市| 曲水县| 平昌县| 横峰县| 连平县| 岫岩| 西城区| 华池县| 石门县| 资源县| 麻城市| 台南市| 屯门区| 巴东县| 临海市|