国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > 數(shù)據(jù)庫對于同一查詢,為什么每次查詢時間會不一樣?

數(shù)據(jù)庫對于同一查詢,為什么每次查詢時間會不一樣?

來源:千鋒教育
發(fā)布人:xqq
時間: 2023-10-13 21:22:37 1697203357

一、數(shù)據(jù)庫對于同一查詢,每次查詢時間會不一樣的原因

1、有內(nèi)部操作

查詢語句中的內(nèi)部操作,例如排序、分組、連接等,也會影響查詢的執(zhí)行時間。

2、數(shù)據(jù)庫負載

當數(shù)據(jù)庫處于高負載狀態(tài)時,查詢的響應時間可能會增加,因為數(shù)據(jù)庫需要處理更多的請求。此時,同一查詢的執(zhí)行時間會因為負載變化而有所不同。

3、緩存效應

數(shù)據(jù)庫有一個查詢緩存,當緩存中有相同的查詢語句時,數(shù)據(jù)庫可以直接返回查詢結(jié)果,而不需要再次執(zhí)行查詢。但是,當查詢緩存被清空或命中率低時,同一查詢的執(zhí)行時間可能不同。

4、使用了索引

查詢語句中使用的索引對查詢的執(zhí)行時間也有影響。當查詢的字段沒有合適的索引或使用了不合適的索引時,查詢的執(zhí)行時間可能會增加。

5、數(shù)據(jù)量不同

查詢的執(zhí)行時間也會受到數(shù)據(jù)量的影響。當查詢需要處理大量數(shù)據(jù)時,執(zhí)行時間可能會比查詢少量數(shù)據(jù)的情況下長。

二、數(shù)據(jù)庫介紹

1、定義

數(shù)據(jù)庫是存放數(shù)據(jù)的倉庫。它的存儲空間很大,可以存放百萬條、千萬條、上億條數(shù)據(jù)。但是數(shù)據(jù)庫并不是隨意地將數(shù)據(jù)進行存放,是有一定的規(guī)則的,否則查詢的效率會很低。當今世界是一個充滿著數(shù)據(jù)的互聯(lián)網(wǎng)世界,充斥著大量的數(shù)據(jù)。即這個互聯(lián)網(wǎng)世界就是數(shù)據(jù)世界。數(shù)據(jù)的來源有很多,比如出行記錄、消費記錄、瀏覽的網(wǎng)頁、發(fā)送的消息等等。除了文本類型的數(shù)據(jù),圖像、音樂、聲音都是數(shù)據(jù)。

數(shù)據(jù)庫是一個按數(shù)據(jù)結(jié)構(gòu)來存儲和管理數(shù)據(jù)的計算機軟件系統(tǒng)。數(shù)據(jù)庫的概念實際包括兩層意思:

數(shù)據(jù)庫是一個實體,它是能夠合理保管數(shù)據(jù)的“倉庫”,用戶在該“倉庫”中存放要管理的事務數(shù)據(jù),“數(shù)據(jù)”和“庫”兩個概念結(jié)合成為數(shù)據(jù)庫。數(shù)據(jù)庫是數(shù)據(jù)管理的新方法和技術,它能更合適的組織數(shù)據(jù)、更方便的維護數(shù)據(jù)、更嚴密的控制數(shù)據(jù)和更有效的利用數(shù)據(jù)。

數(shù)據(jù)庫作為最重要的基礎軟件,是確保計算機系統(tǒng)穩(wěn)定運行的基石。

2、數(shù)據(jù)庫管理系統(tǒng)

數(shù)據(jù)庫管理系統(tǒng)是為管理數(shù)據(jù)庫而設計的電腦軟件系統(tǒng),一般具有存儲、截取、安全保障、備份等基礎功能。數(shù)據(jù)庫管理系統(tǒng)可以依據(jù)它所支持的數(shù)據(jù)庫模型來作分類,例如關系式、XML;或依據(jù)所支持的計算機類型來作分類,例如服務器群集、移動電話;或依據(jù)所用查詢語言來作分類,例如SQL、XQuery;或依據(jù)性能沖量重點來作分類,例如最大規(guī)模、較高運行速度;亦或其他的分類方式。不論使用哪種分類方式,一些DBMS能夠跨類別,例如,同時支持多種查詢語言。?

數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心組成部分,主要完成對數(shù)據(jù)庫的操作與管理功能,實現(xiàn)數(shù)據(jù)庫對象的創(chuàng)建、數(shù)據(jù)庫存儲數(shù)據(jù)的查詢、添加、修改與刪除操作和數(shù)據(jù)庫的用戶管理、權(quán)限管理等。它的安全直接關系到整個數(shù)據(jù)庫系統(tǒng)的安全,其防護手段主要有:

使用正版數(shù)據(jù)庫管理系統(tǒng)并及時安裝相關補丁。做好用戶賬戶管理,禁用默認超級管理員賬戶或者為超級管理員賬戶設置復雜密碼;為應用程序分別分配專用賬戶進行訪問;設置用戶登錄時間及登錄失敗次數(shù)限制, 防止暴力破解用戶密碼。分配用戶訪問權(quán)限時,堅持最小權(quán)限分配原則,并限制用戶只能訪問特定數(shù)據(jù)庫,不能同時訪問其他數(shù)據(jù)庫。修改數(shù)據(jù)庫默認訪問端口,使用防火墻屏蔽掉對 外開放的其他端口,禁止一切外部的端口探測行為。對數(shù)據(jù)庫內(nèi)存儲的重要數(shù)據(jù)、敏感數(shù)據(jù)進行加密存儲,防止數(shù)據(jù)庫備份或數(shù)據(jù)文件被盜而造成數(shù)據(jù)泄露。設置好數(shù)據(jù)庫的備份策略,保證數(shù)據(jù)庫被破壞后能迅速恢復。對數(shù)據(jù)庫內(nèi)的系統(tǒng)存儲過程進行合理管理,禁用掉不必要的存儲過程,防止利用存儲過程進行數(shù)據(jù)庫探測與攻擊。啟用數(shù)據(jù)庫審核功能,對數(shù)據(jù)庫進行全面的事件跟蹤和日志記錄。

3、標準SQL語句

雖然關系型數(shù)據(jù)庫有很多,但是大多數(shù)都遵循SQL(結(jié)構(gòu)化查詢語言,Structured Query Language)標準。 常見的操作有查詢,新增,更新,刪除,求和,排序等。

查詢語句:SELECT param FROM table WHERE condition 該語句可以理解為從 table 中查詢出滿足 condition 條件的字段 param。新增語句:INSERT INTO table (param1,param2,param3) VALUES (value1,value2,value3) 該語句可以理解為向table中的param1,param2,param3字段中分別插入value1,value2,value3。更新語句:UPDATE table SET param=new_value WHERE condition 該語句可以理解為將滿足condition條件的字段param更新為 new_value 值。刪除語句:DELETE FROM table WHERE condition 該語句可以理解為將滿足condition條件的數(shù)據(jù)全部刪除。去重查詢:SELECT DISTINCT param FROM table WHERE condition 該語句可以理解為從表table中查詢出滿足條件condition的字段param,但是param中重復的值只能出現(xiàn)一次。排序查詢:SELECT param FROM table WHERE condition ORDER BY param1該語句可以理解為從表table 中查詢出滿足condition條件的param,并且要按照param1升序的順序進行排序。

總體來說, 數(shù)據(jù)庫的SELECT,INSERT,UPDATE,DELETE對應了我們常用的增刪改查四種操作。關系型數(shù)據(jù)庫對于結(jié)構(gòu)化數(shù)據(jù)的處理更合適,如學生成績、地址等,這樣的數(shù)據(jù)一般情況下需要使用結(jié)構(gòu)化的查詢,例如join,這樣的情況下,關系型數(shù)據(jù)庫就會比NoSQL數(shù)據(jù)庫性能更優(yōu),而且精確度更高。由于結(jié)構(gòu)化數(shù)據(jù)的規(guī)模不算太大,數(shù)據(jù)規(guī)模的增長通常也是可預期的,所以針對結(jié)構(gòu)化數(shù)據(jù)使用關系型數(shù)據(jù)庫更好。關系型數(shù)據(jù)庫十分注意數(shù)據(jù)操作的事務性、一致性,如果對這方面的要求關系型數(shù)據(jù)庫無疑可以很好的滿足。

4、非關系型數(shù)據(jù)庫(NoSQL)

隨著近些年技術方向的不斷拓展,大量的NoSql數(shù)據(jù)庫如MongoDB、Redis、Memcache出于簡化數(shù)據(jù)庫結(jié)構(gòu)、避免冗余、影響性能的表連接、摒棄復雜分布式的目的被設計。

指的是分布式的、非關系型的、不保證遵循ACID原則的數(shù)據(jù)存儲系統(tǒng)。NoSQL數(shù)據(jù)庫技術與CAP理論、一致性哈希算法有密切關系。所謂CAP理論,簡單來說就是一個分布式系統(tǒng)不可能滿足可用性、一致性與分區(qū)容錯性這三個要求,一次性滿足兩種要求是該系統(tǒng)的上限。而一致性哈希算法則指的是NoSQL數(shù)據(jù)庫在應用過程中,為滿足工作需求而在通常情況下產(chǎn)生的一種數(shù)據(jù)算法,該算法能有效解決工作方面的諸多問題但也存在弊端,即工作完成質(zhì)量會隨著節(jié)點的變化而產(chǎn)生波動,當節(jié)點過多時,相關工作結(jié)果就無法那么準確。這一問題使整個系統(tǒng)的工作效率受到影響,導致整個數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)亂碼與出錯率大大提高,甚至會出現(xiàn)數(shù)據(jù)節(jié)點的內(nèi)容遷移,產(chǎn)生錯誤的代碼信息。但盡管如此,NoSQL數(shù)據(jù)庫技術還是具有非常明顯的應用優(yōu)勢,如數(shù)據(jù)庫結(jié)構(gòu)相對簡單,在大數(shù)據(jù)量下的讀寫性能好;能滿足隨時存儲自定義數(shù)據(jù)格式需求,非常適用于大數(shù)據(jù)處理工作。

NoSQL數(shù)據(jù)庫適合追求速度和可擴展性、業(yè)務多變的應用場景。對于非結(jié)構(gòu)化數(shù)據(jù)的處理更合適,如文章、評論,這些數(shù)據(jù)如全文搜索、機器學習通常只用于模糊處理,并不需要像結(jié)構(gòu)化數(shù)據(jù)一樣,進行精確查詢,而且這類數(shù)據(jù)的數(shù)據(jù)規(guī)模往往是海量的,數(shù)據(jù)規(guī)模的增長往往也是不可能預期的,而NoSQL數(shù)據(jù)庫的擴展能力幾乎也是無限的,所以NoSQL數(shù)據(jù)庫可以很好的滿足這一類數(shù)據(jù)的存儲。NoSQL數(shù)據(jù)庫利用key-value可以大量的獲取大量的非結(jié)構(gòu)化數(shù)據(jù),并且數(shù)據(jù)的獲取效率很高,但用它查詢結(jié)構(gòu)化數(shù)據(jù)效果就比較差。

目前NoSQL數(shù)據(jù)庫仍然沒有一個統(tǒng)一的標準,它現(xiàn)在有四種大的分類:

鍵值對存儲(key-value):代表軟件Redis,它的優(yōu)點能夠進行數(shù)據(jù)的快速查詢,而缺點是需要存儲數(shù)據(jù)之間的關系。列存儲:代表軟件Hbase,它的優(yōu)點是對數(shù)據(jù)能快速查詢,數(shù)據(jù)存儲的擴展性強。而缺點是數(shù)據(jù)庫的功能有局限性。文檔數(shù)據(jù)庫存儲:代表軟件MongoDB,它的優(yōu)點是對數(shù)據(jù)結(jié)構(gòu)要求不特別的嚴格。而缺點是查詢性的性能不好,同時缺少一種統(tǒng)一查詢語言。圖形數(shù)據(jù)庫存儲:代表軟件InfoGrid,它的優(yōu)點可以方便的利用圖結(jié)構(gòu)相關算法進行計算。而缺點是要想得到結(jié)果必須進行整個圖的計算,而且遇到不適合的數(shù)據(jù)模型時,圖形數(shù)據(jù)庫很難使用。

延伸閱讀1:關系數(shù)據(jù)庫

關系型數(shù)據(jù)庫,存儲的格式可以直觀地反映實體間的關系。關系型數(shù)據(jù)庫和常見的表格比較相似,關系型數(shù)據(jù)庫中表與表之間是有很多復雜的關聯(lián)關系的。 常見的關系型數(shù)據(jù)庫有Mysql,SqlServer等。在輕量或者小型的應用中,使用不同的關系型數(shù)據(jù)庫對系統(tǒng)的性能影響不大,但是在構(gòu)建大型應用時,則需要根據(jù)應用的業(yè)務需求和性能需求,選擇合適的關系型數(shù)據(jù)庫。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內(nèi)將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT