亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        淺談如何提高數(shù)據(jù)庫(kù)訪問效率

        2019-09-10 14:53:05李亞楠
        關(guān)鍵詞:數(shù)據(jù)庫(kù)效率

        李亞楠

        摘 ?要:在進(jìn)行大數(shù)據(jù)處理軟件或WEB站點(diǎn)設(shè)計(jì)時(shí),數(shù)據(jù)庫(kù)訪問效率是用戶對(duì)軟件的基本要求,也是判斷一個(gè)軟件是否優(yōu)良的重要標(biāo)準(zhǔn)。本文將從數(shù)據(jù)庫(kù)設(shè)計(jì)、連接方式和數(shù)據(jù)檢索方式三個(gè)方面來簡(jiǎn)單介紹幾點(diǎn)提高數(shù)據(jù)庫(kù)訪問效率的辦法。

        關(guān)鍵詞:數(shù)據(jù)庫(kù);效率;索引;SQL查詢

        1、引言

        隨著公司產(chǎn)品的發(fā)展,測(cè)試數(shù)據(jù)數(shù)據(jù)量的逐漸增大,數(shù)據(jù)庫(kù)以其數(shù)據(jù)共享、數(shù)據(jù)冗余度低、數(shù)據(jù)獨(dú)立性高、數(shù)據(jù)集中度高和數(shù)據(jù)一致性及可維護(hù)性高的五大優(yōu)點(diǎn),已經(jīng)成為了公司軟件進(jìn)行大量、復(fù)雜數(shù)據(jù)處理的必選工具。因此,如何提高數(shù)據(jù)庫(kù)訪問效率也就成為了軟件設(shè)計(jì)時(shí)需要重要考慮的問題之一,如處理不當(dāng),則會(huì)導(dǎo)致軟件運(yùn)行速度慢、系統(tǒng)卡死等重大問題。

        2、數(shù)據(jù)庫(kù)設(shè)計(jì)

        2.1 使用分布式數(shù)據(jù)庫(kù)

        分布式數(shù)據(jù)庫(kù),顧名思義,也就是數(shù)據(jù)庫(kù)中的數(shù)據(jù)不是存儲(chǔ)在同一場(chǎng)地,而是分布存儲(chǔ)在多個(gè)場(chǎng)地。例如,長(zhǎng)慶油田的數(shù)字化系統(tǒng)即采用了分布式數(shù)據(jù)庫(kù),由每個(gè)站點(diǎn)來管理該站下油井的基礎(chǔ)數(shù)據(jù)和測(cè)試數(shù)據(jù),然后通過數(shù)據(jù)同步技術(shù)來將本站所管理數(shù)據(jù)與廠級(jí)中心服務(wù)器進(jìn)行數(shù)據(jù)同步。這種設(shè)計(jì)方案的優(yōu)點(diǎn)是,局部應(yīng)用的響應(yīng)速度較快,可擴(kuò)展性好,易于集成現(xiàn)有的系統(tǒng)。如公司要進(jìn)行大量、多層次的數(shù)字化產(chǎn)品安裝及系統(tǒng)實(shí)施,分布式數(shù)據(jù)庫(kù)將是一個(gè)很好的數(shù)據(jù)處理技術(shù)方案。

        2.2 分類拆分?jǐn)?shù)據(jù)量大的表

        對(duì)于經(jīng)常使用的數(shù)據(jù)表,由于其使用頻率很高,要盡量減少表中的記錄數(shù)量。例如,在功圖計(jì)產(chǎn)軟件中,將油井的計(jì)產(chǎn)參數(shù)細(xì)分為:靜態(tài)參數(shù)表、動(dòng)態(tài)參數(shù)表、原油物性表。這樣既提高了數(shù)據(jù)庫(kù)的訪問效率,又提高了軟件的可維護(hù)性。

        2.3 應(yīng)用“三少”原則

        1)數(shù)據(jù)庫(kù)中的表越少越好。只有數(shù)據(jù)庫(kù)中表的個(gè)數(shù)少了,才能說明系統(tǒng)的E-R圖少而精,去掉了重復(fù)的、多余的實(shí)體,形成了對(duì)客觀世界的高度抽象,進(jìn)行了系統(tǒng)的數(shù)據(jù)集成;

        2)一個(gè)表中組合主鍵的字段個(gè)數(shù)越少越好。因?yàn)橹麈I的作用,一是建立主鍵索引,二是作為字表的外鍵,所以組合主鍵的字段個(gè)數(shù)少了,不僅節(jié)省了運(yùn)行時(shí)間,而且節(jié)省了索引存儲(chǔ)空間。

        3)一個(gè)表中的字段個(gè)數(shù)越少越好。只有字段的個(gè)數(shù)少了,才能說明在系統(tǒng)中不存在數(shù)據(jù)重復(fù),且很少有數(shù)據(jù)冗余,更重要的是督促使用者進(jìn)行“列變行”,這樣就防止了將子表中的字段拉入到主表中去,在主表中留下許 多空余的字段。所謂“列變行”,就是將主表中的一部分內(nèi)容拉出去,另外單獨(dú)建一個(gè)子表。

        2.4、創(chuàng)建索引

        索引就是加快檢索表中數(shù)據(jù)的方法。數(shù)據(jù)庫(kù)的索引類似于書籍的索引。在書籍中,索引允許用戶不必翻閱完整個(gè)書就能迅速地找到所需要的信息。在數(shù)據(jù)庫(kù)中,索引也允許數(shù)據(jù)庫(kù)程序迅速地找到表中的數(shù)據(jù),而不必掃描整個(gè)數(shù)據(jù)庫(kù)索引具有以下5點(diǎn)優(yōu)點(diǎn):

        1)創(chuàng)建唯一性索引,保證數(shù)據(jù)庫(kù)表中每一行數(shù)據(jù)的唯一性

        2)大大加快數(shù)據(jù)的檢索速度,這也是創(chuàng)建索引的最主要的原因

        3)加速表和表之間的連接,特別是在實(shí)現(xiàn)數(shù)據(jù)的參考完整性方面特別有意義。

        4)在使用分組和排序子句進(jìn)行數(shù)據(jù)檢索時(shí),同樣可以顯著減少查詢中分組和排序的時(shí)間。

        5)通過使用索引,可以在查詢的過程中使用優(yōu)化隱藏器,提高系統(tǒng)的性能。

        為了提高數(shù)據(jù)庫(kù)訪問效率,在創(chuàng)建索引時(shí),一定要遵循以下幾條原則:

        1)表的主鍵、外鍵必須有索引;

        2)數(shù)據(jù)量超過300的表應(yīng)該有索引;

        3)經(jīng)常與其他表進(jìn)行連接的表,在連接字段上應(yīng)該建立索引;

        4)經(jīng)常出現(xiàn)在Where子句中的字段,特別是大表的字段,應(yīng)該建立索引;

        5)索引應(yīng)該建在選擇性高的字段上;

        6)索引應(yīng)該建在小字段上,對(duì)于大的文本字段甚至超長(zhǎng)字段,不要建索引;

        7)復(fù)合索引的建立需要進(jìn)行仔細(xì)分析;盡量考慮用單字段索引代替:

        A、正確選擇復(fù)合索引中的主列字段,一般是選擇性較好的字段;

        B、復(fù)合索引的幾個(gè)字段是否經(jīng)常同時(shí)以AND方式出現(xiàn)在Where子句中?單字段查詢是否極少甚至沒有?如果是,則可以建立復(fù)合索引;否則考慮單字段索引;

        C、如果復(fù)合索引中包含的字段經(jīng)常單獨(dú)出現(xiàn)在Where子句中,則分解為多個(gè)單字段索引;

        D、如果復(fù)合索引所包含的字段超過3個(gè),那么仔細(xì)考慮其必要性,考慮減少?gòu)?fù)合的字段;

        E、如果既有單字段索引,又有這幾個(gè)字段上的復(fù)合索引,一般可以刪除復(fù)合索引;

        8)頻繁進(jìn)行數(shù)據(jù)操作的表,不要建立太多的索引;

        9)刪除無用的索引,避免對(duì)執(zhí)行計(jì)劃造成負(fù)面影響;

        10)索引分為聚集索引和非聚集索引,應(yīng)根據(jù)具體所需查詢條件來建立合適類型的索引。

        3、數(shù)據(jù)庫(kù)連接方式

        傳統(tǒng)的數(shù)據(jù)庫(kù)連接方式,在動(dòng)態(tài)WEB站點(diǎn)運(yùn)行時(shí),會(huì)頻繁的建立和釋放連接,降低數(shù)據(jù)庫(kù)訪問效率,增加系統(tǒng)的負(fù)擔(dān),成為了軟件運(yùn)行效率的瓶頸。而數(shù)據(jù)庫(kù)連接池則是將已經(jīng)創(chuàng)建好的連接保存在池中,當(dāng)有請(qǐng)求來時(shí),直接使用已經(jīng)創(chuàng)建好的連接對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問。這樣省略了創(chuàng)建連接和銷毀連接的過程,在性能上得到了提高。

        數(shù)據(jù)庫(kù)連接池的工作機(jī)制為,當(dāng)服務(wù)器啟動(dòng)時(shí)會(huì)建立一定數(shù)量的池連接,并一直維持不少于此數(shù)目的池連接??蛻舳顺绦蛐枰B接時(shí),池驅(qū)動(dòng)程序會(huì)返回一個(gè)未使用的池連接并將其表記為忙。如果當(dāng)前沒有空閑連接,池驅(qū)動(dòng)程序就新建一定數(shù)量的連接,新建連接的數(shù)量有配置參數(shù)決定。當(dāng)使用的池連接調(diào)用完成后,池驅(qū)動(dòng)程序?qū)⒋诉B接表記為空閑,其他調(diào)用就可以使用這個(gè)連接。

        4、數(shù)據(jù)檢索方式

        數(shù)據(jù)檢索的優(yōu)化主要是根本數(shù)據(jù)庫(kù)的設(shè)計(jì)方案和查詢條件來設(shè)計(jì)相應(yīng)的SQL查詢方案,從而減少數(shù)據(jù)檢索時(shí)間,提高現(xiàn)有資源的利用率。優(yōu)化數(shù)據(jù)檢索的方法主要有以下幾種:

        1)應(yīng)盡量避免在 where 子句中對(duì)字段進(jìn)行 null 值判斷,否則將導(dǎo)致引擎放棄使用索引而進(jìn)行全表掃描;

        2)應(yīng)盡量避免在 where 子句中使用!=或<>操作符,否則將引擎放棄使用索引而進(jìn)行全表掃描;

        3)應(yīng)盡量避免在 where 子句中使用 or 來連接條件,否則將導(dǎo)致引擎放棄使用索引而進(jìn)行全表掃描;

        4)應(yīng)盡量避免在 where 子句中對(duì)字段進(jìn)行表達(dá)式操作,這將導(dǎo)致引擎放棄使用索引而進(jìn)行全表掃描;

        5)任何地方都不要使用 select * from t,用具體的字段列表代替“*”,不要返回用不到的任何字段;

        6)在所有的存儲(chǔ)過程和觸發(fā)器的開始處設(shè)置 SET NOCOUNT ON,在結(jié)束時(shí)設(shè)置 SET NOCOUNT OFF。無需在執(zhí)行存儲(chǔ)過程和觸發(fā)器的每個(gè)語句后向客戶端發(fā)送 DONE_IN_PROC 消息;

        7)盡量避免向客戶端返回大數(shù)據(jù)量,若數(shù)據(jù)量過大,應(yīng)該考慮相應(yīng)需求是否合理。

        參考文獻(xiàn)

        [1] ?施瓦茨,扎伊采夫,特卡琴科.高性能MySQL.電子工業(yè)出版社,2013

        猜你喜歡
        數(shù)據(jù)庫(kù)效率
        提升朗讀教學(xué)效率的幾點(diǎn)思考
        甘肅教育(2020年14期)2020-09-11 07:57:42
        注意實(shí)驗(yàn)拓展,提高復(fù)習(xí)效率
        效率的價(jià)值
        商周刊(2017年9期)2017-08-22 02:57:49
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        跟蹤導(dǎo)練(一)2
        “錢”、“事”脫節(jié)效率低
        亚洲国产av导航第一福利网| 国产成人精品人人做人人爽97| av手机天堂在线观看| av天堂最新在线播放| 99精品国产丝袜在线拍国语| 亚洲国产精品日韩av不卡在线| 四虎成人免费| 亚洲欧美日韩国产综合专区| 免费人成黄页在线观看国产| 亚洲av无码国产精品色软件| av在线亚洲欧洲日产一区二区| 国产成人精品三级在线影院| 亚洲va中文字幕欧美不卡| 在线视频一区二区国产| 久久久中文久久久无码| 色一乱一伦一图一区二区精品| 亚欧同人精品天堂| 久久久精品亚洲人与狗| 亚洲色一区二区三区四区| 日日澡夜夜澡人人高潮| 一区五码在线| 一区二区三区观看视频在线| 亚洲精品天天影视综合网| 激情97综合亚洲色婷婷五| 国产人成在线成免费视频| 美女主播福利一区二区| 亚洲欧美日韩国产精品一区二区| 国产成年无码V片在线| 一区二区三区日本在线| 国产精品午夜福利视频234区| 朝鲜女子内射杂交bbw| 亚洲熟妇中文字幕日产无码| 亚洲黄色av一区二区三区| 日日碰狠狠添天天爽五月婷| 麻豆国产高清精品国在线| 极品视频一区二区三区在线观看| 日本熟妇中出高潮视频| 亚洲精品久久区二区三区蜜桃臀| 青青青爽国产在线视频| 亚洲国内精品一区二区在线| 日韩精品无码一区二区三区四区 |