溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

數(shù)據(jù)庫(kù)索引優(yōu)秀的原因有哪些

發(fā)布時(shí)間:2021-10-09 17:26:57 來(lái)源:億速云 閱讀:158 作者:iii 欄目:數(shù)據(jù)庫(kù)

本篇內(nèi)容介紹了“數(shù)據(jù)庫(kù)索引優(yōu)秀的原因有哪些”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

處理數(shù)據(jù)庫(kù)索引的簡(jiǎn)短指南

數(shù)據(jù)庫(kù)索引通常很糟糕。只有在設(shè)計(jì)和有效地使用時(shí)才實(shí)現(xiàn)數(shù)據(jù)庫(kù)索引的權(quán)力。否則,索引是磁盤空間和數(shù)據(jù)庫(kù)性能的純粹浪費(fèi)。但是你不想浪費(fèi)磁盤空間,所以讓我們快速通過(guò)一些您需要正確設(shè)計(jì)和使用索引所需的內(nèi)容。

只有一個(gè)原因創(chuàng)建數(shù)據(jù)庫(kù)索引 -  僅在數(shù)據(jù)庫(kù)上提供現(xiàn)有或?qū)?lái)的查詢負(fù)載,即必須根據(jù)當(dāng)前或預(yù)期的使用設(shè)計(jì)索引。所有主要數(shù)據(jù)庫(kù)都提供了一種監(jiān)控索引使用的方法。

數(shù)據(jù)庫(kù)索引優(yōu)秀的原因有哪些

使用where子句

SQL查詢中的WHERE子句過(guò)濾數(shù)據(jù)。索引在基于某些關(guān)鍵列以預(yù)定義的順序存儲(chǔ)數(shù)據(jù)時(shí),在濾除數(shù)據(jù)中有助于濾除數(shù)據(jù)。如果查詢使用這些鍵列,將使用索引,濾波器將更快。

當(dāng)在Where子句中引用密鑰列時(shí),索引的存在不保證其使用情況。因此,您必須確保正在使用索引。大多數(shù)數(shù)據(jù)庫(kù)都有一個(gè)名為查詢引擎的組件,該組件決定了許多執(zhí)行計(jì)劃中的哪一個(gè)來(lái)確保查詢的最快結(jié)果。

查詢引擎伴隨著解釋命令,幫助我們獲取執(zhí)行計(jì)劃并列出計(jì)劃的每一步的成本。

有效地使用數(shù)據(jù)類型

數(shù)據(jù)庫(kù)支持只有少量數(shù)據(jù)類型。已創(chuàng)建所有數(shù)據(jù)類型以提供特定目的。如果您不使用旨在服務(wù)該目的的數(shù)據(jù)類型,您將在數(shù)據(jù)庫(kù)上放入額外的負(fù)載以進(jìn)行隱式鑄造,額外的磁盤空間等。

避免的簡(jiǎn)單方法是使用DateTime來(lái)存儲(chǔ)日期和時(shí)間,使用整數(shù)來(lái)存儲(chǔ)整數(shù)。不要使用VARCHAR將所有內(nèi)容從數(shù)字存儲(chǔ)到JSON對(duì)象。大多數(shù)數(shù)據(jù)庫(kù)現(xiàn)在支持JSON作為本機(jī)數(shù)據(jù)類型。這意味著您可以使用SQL有效地存儲(chǔ)和檢索來(lái)自數(shù)據(jù)庫(kù)中的JSON對(duì)象的數(shù)據(jù)。

不要過(guò)度索引

索引創(chuàng)建必須在利用磁盤空間,增加管理開(kāi)銷和增加查詢性能之間進(jìn)行平衡。您無(wú)法創(chuàng)建索引以將空間保存為數(shù)據(jù)庫(kù)查詢性能。您還無(wú)法在所有列上創(chuàng)建索引以提供所有查詢。它不像那樣工作。

您必須通過(guò)識(shí)別以下內(nèi)容來(lái)檢查查詢工作負(fù)載 -

  • 用于過(guò)濾Filter數(shù)據(jù)的列。

  • 用于聯(lián)結(jié)Join表的列。

  • 用于排序Order數(shù)據(jù)的列。

  • 用于分組Group數(shù)據(jù)的列。

  • 用于過(guò)濾,Join,Oder或Group的組合使用的列。

這五件事將決定需要?jiǎng)?chuàng)建多少個(gè)索引,索引列應(yīng)該在索引中有什么組合,優(yōu)先順序。

請(qǐng)注意,Column_P上的索引IDX_A,Column_Q DESC與

  • Column_Q中的索引IDX_A,列P或,

  • index idx_b在column_p desc上,列q

還要確保您使用一些工具或腳本來(lái)標(biāo)識(shí)數(shù)據(jù)庫(kù)中是否存在重復(fù)索引。

知道不使用索引時(shí)

謹(jǐn)防樣品條款的誘惑。這是一個(gè)指數(shù)殺手。知道索引的第一列必須始終存在于要使用的查詢的過(guò)濾器,訂單,加入或組操作中。如果您使用LACE子句使用索引過(guò)濾數(shù)據(jù),則您應(yīng)該知道您無(wú)法期望索引在類似于“%的東西”中的內(nèi)容。

當(dāng)數(shù)據(jù)庫(kù)引擎無(wú)法隱式地映射數(shù)據(jù)類型,字符集或索引列的排序時(shí),也沒(méi)有使用索引。有關(guān)此內(nèi)容的更多詳細(xì)信息,并查找更多關(guān)于索引的限制,請(qǐng)使用此鏈接。

“數(shù)據(jù)庫(kù)索引優(yōu)秀的原因有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI