日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
數(shù)據(jù)庫(kù)索引:優(yōu)化數(shù)據(jù)查詢的必要工具(數(shù)據(jù)庫(kù)索引的應(yīng)用)

數(shù)據(jù)庫(kù)索引是一種重要的數(shù)據(jù)結(jié)構(gòu),用于優(yōu)化數(shù)據(jù)查詢操作,加快數(shù)據(jù)庫(kù)檢索速度。索引在數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)中起著至關(guān)重要的作用,它使得我們能夠更快地檢索數(shù)據(jù),提高數(shù)據(jù)操作的效率。在本篇文章中,我們將細(xì)致討論數(shù)據(jù)庫(kù)索引的定義、類型、設(shè)計(jì)原則、優(yōu)化方法等,希望對(duì)讀者理解和運(yùn)用數(shù)據(jù)庫(kù)索引提供幫助。

成都創(chuàng)新互聯(lián)長(zhǎng)期為上千客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為鐵西企業(yè)提供專業(yè)的成都網(wǎng)站制作、網(wǎng)站建設(shè),鐵西網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。

一、索引的定義

索引是一種數(shù)據(jù)結(jié)構(gòu),它可以加速在數(shù)據(jù)庫(kù)表中查找特定的行或列。通常,非常龐大的表中查詢特定數(shù)據(jù)很困難,但通過(guò)使用索引,可以大幅度地提高查詢速度。索引是數(shù)據(jù)庫(kù)中一組數(shù)據(jù)結(jié)構(gòu),利用它們可以方便地獲取所需數(shù)據(jù)。其中,最常用的索引是B-樹(shù)索引,其它常用的索引包括哈希索引、全文索引、位圖索引等。

二、索引的類型

1. B-樹(shù)索引:大部分?jǐn)?shù)據(jù)庫(kù)都使用B-樹(shù)結(jié)構(gòu)。B-樹(shù)是平衡搜索樹(shù),可以快速地定位所需數(shù)據(jù)。每個(gè)節(jié)點(diǎn)中包含若干個(gè)分支,包括指向下一層子節(jié)點(diǎn)的指針和關(guān)鍵字(也可以是一個(gè)數(shù)據(jù)塊)。B-樹(shù)建立索引時(shí),將樹(shù)枝節(jié)點(diǎn)和葉子節(jié)點(diǎn)存儲(chǔ)在同一級(jí)別上。

2. 哈希索引:哈希索引根據(jù)數(shù)據(jù)的哈希值進(jìn)行檢索。哈希索引的優(yōu)點(diǎn)是查找速度非???,但它只能用于等值比較查詢。

3. 全文索引:全文索引用于文本字段的搜索。它可以處理包含單詞或短語(yǔ)的文本查詢,并提供相關(guān)性排序等特性。

4. 位圖索引:位圖索引是一種在大型數(shù)據(jù)集上優(yōu)化的不平衡搜索樹(shù)。它直接將每種搜索值映射到一個(gè)位圖索引中的位。當(dāng)需要查找某些值時(shí),可以將對(duì)應(yīng)的位圖合并并執(zhí)行邏輯運(yùn)算,實(shí)現(xiàn)快速查詢。

三、索引的設(shè)計(jì)原則

1. 選擇合適的列:對(duì)于表中的大部分列,都應(yīng)該建立索引,但需要特別選擇列。列的選擇應(yīng)該有助于提高數(shù)據(jù)庫(kù)的性能。

2. 手動(dòng)創(chuàng)建索引:數(shù)據(jù)庫(kù)系統(tǒng)可以自動(dòng)創(chuàng)建索引,但我們通常建議手動(dòng)創(chuàng)建,以便更好控制數(shù)據(jù)。

3. 限制索引的數(shù)量:雖然索引有很多好處,但是每個(gè)索引都會(huì)在表中占用一些空間。建議限制索引的數(shù)量,以便避免過(guò)度索引,減少資源消耗。

4. 給大量數(shù)據(jù)添加索引:大型數(shù)據(jù)庫(kù)中的數(shù)據(jù)量是龐大的,因此需要使用大量的索引來(lái)加速查找。

五、索引的優(yōu)化方法

優(yōu)化索引主要是針對(duì)查詢語(yǔ)句進(jìn)行分析,在查詢時(shí)應(yīng)該利用好索引,避免一些不必要的操作。以下是一些優(yōu)化索引的方法:

1. 利用覆蓋索引:覆蓋索引是指查詢語(yǔ)句只使用了索引字段,而沒(méi)有去訪問(wèn)數(shù)據(jù)表。如果查詢條件中包含的是表中已有的字段,那么可以避免數(shù)據(jù)庫(kù)掃描數(shù)據(jù)表,直接使用索引進(jìn)行查詢。

2. 去除重復(fù)查詢:使用緩存技術(shù)避免反復(fù)查詢相同的數(shù)據(jù)。緩存可以減少數(shù)據(jù)庫(kù)的負(fù)擔(dān),以提高查詢效率。

3. 避免使用非索引列:在查詢中沒(méi)有使用索引列而使用了其它列,會(huì)讓查詢變慢。因此,在編寫查詢語(yǔ)句時(shí)更好避免使用非索引列,以便加快查詢速度。

4. 維護(hù)索引:索引也需要維護(hù)。當(dāng)數(shù)據(jù)表發(fā)生修改時(shí)需要及時(shí)更新索引內(nèi)容,否則會(huì)降低查詢效率。

綜合來(lái)說(shuō),數(shù)據(jù)庫(kù)索引是一種優(yōu)化查詢的必要工具。在進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí),需要根據(jù)數(shù)據(jù)集的大小、作用和其它因素來(lái)選擇合適的索引類型,并按照要求進(jìn)行設(shè)計(jì)和維護(hù)。優(yōu)化索引可以大幅度加快查詢速度,減少數(shù)據(jù)庫(kù)的負(fù)擔(dān),是數(shù)據(jù)庫(kù)設(shè)計(jì)中最為關(guān)鍵的一環(huán)。

成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián),建站經(jīng)驗(yàn)豐富以策略為先導(dǎo)10多年以來(lái)專注數(shù)字化網(wǎng)站建設(shè),提供企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),響應(yīng)式網(wǎng)站制作,設(shè)計(jì)師量身打造品牌風(fēng)格,熱線:028-86922220

數(shù)據(jù)庫(kù)基礎(chǔ):講解MySQL索引的概念及數(shù)據(jù)庫(kù)索引的應(yīng)用[2]

五 索引分類

   直接創(chuàng)建索引和間接創(chuàng)建索引

  直接創(chuàng)建索引 CREATE INDEX mycolumn_index ON mytable (myclumn)

  間接創(chuàng)建索引 定義主鍵約束或者唯一性鍵約束 可以間接創(chuàng)建索引

   普通索引和唯一性索引

  普通索引 CREATE INDEX mycolumn_index ON mytable (myclumn)

  唯一性索引 保證在索引列中的全部數(shù)據(jù)是唯一的 對(duì)聚簇索引和非聚簇索引都可以使用

  CREATE UNIQUE COUSTERED INDEX myclumn_cindex ON mytable(mycolumn)

   單個(gè)索引和復(fù)合索引

  單個(gè)索引 即非復(fù)合索引

  復(fù)合索引 又叫組合索引 在索引建立語(yǔ)句中同時(shí)包含多個(gè)字段名 最多 個(gè)字段

  CREATE INDEX name_index ON username(firstname lastname)

   聚簇索引和非聚簇索引(聚集索引 群集索引)

  聚簇索引 物理索引 與基表的物理順序相同 數(shù)據(jù)值的順序總是按照順序排列

  CREATE CLUSTERED INDEX mycolumn_cindex ON mytable(mycolumn) WITH

  ALLOW_DUP_ROW(允許有重復(fù)記錄的聚簇索引)

  非聚簇索引 CREATE UNCLUSTERED INDEX mycolumn_cindex ON mytable(mycolumn)

  六 索引的使用

   當(dāng)字段數(shù)據(jù)更新頻率較低 查詢使用頻率較高并且存在大量重復(fù)值是建議使用聚簇索引

   經(jīng)常同時(shí)存取多列 且每列都含有重復(fù)值可考慮建立組合索引

   復(fù)合索引的前導(dǎo)列一定好控制好 否則無(wú)法起到索引的效果 如果查詢時(shí)前導(dǎo)列不在查詢條件中則該復(fù)合索引不會(huì)被使用 前導(dǎo)列一定是使用最頻繁的列

   多表操作在被實(shí)際執(zhí)行前 查詢優(yōu)化器會(huì)根據(jù)連接條件 列出幾組可能的連接方案并從中找出系統(tǒng)開(kāi)銷最小的更佳方案 連接條件要充份考慮帶有索引的表 行數(shù)多的表;內(nèi)外表的選擇可由公式 外層表中的匹配行數(shù)*內(nèi)層表中每一次查找的次數(shù)確定 乘積最小為更佳方案

   where子句中對(duì)列的任何操作結(jié)果都是在sql運(yùn)行時(shí)逐列計(jì)算得到的 因此它不得不進(jìn)行表搜索 而沒(méi)有使用該列上面的索引;如果這些結(jié)果在查詢編譯時(shí)就能得到 那么就可以被sql優(yōu)化器優(yōu)化 使用索引 避免表搜索(例 select * from record where substring(card_no )=

  && select * from record where card_no like % )任何對(duì)列的操作都將導(dǎo)致表掃描 它包括數(shù)據(jù)庫(kù)函數(shù) 計(jì)算表達(dá)式等等 查詢時(shí)要盡可能將操作移至等號(hào)右邊

   where條件中的 in 在邏輯上相當(dāng)于 or 所以語(yǔ)法分析器會(huì)將in ( ′ ′)轉(zhuǎn)化為column= ′ or column= ′來(lái)執(zhí)行 我們期望它會(huì)根據(jù)每個(gè)or子句分別查找 再將結(jié)果相加 這樣可以利用column上的索引;但實(shí)際上它卻采用了 or策略 即先取出滿足每個(gè)or子句的行 存入臨時(shí)數(shù)據(jù)庫(kù)的工作表中 再建立唯一索引以去掉重復(fù)行 最后從這個(gè)臨時(shí)表中計(jì)算結(jié)果 因此 實(shí)際過(guò)程沒(méi)有利用column上索引 并且完成時(shí)間還要受tempdb數(shù)據(jù)庫(kù)性能的影響 in or子句常會(huì)使用工作表 使索引失效;如果不產(chǎn)生大量重復(fù)值 可以考慮把子句拆開(kāi);拆開(kāi)的子句中應(yīng)該包含索引

   要善于使用存儲(chǔ)過(guò)程 它使sql變得更加靈活和高效

lishixinzhi/Article/program/MySQL/202311/29603

計(jì)算機(jī)數(shù)據(jù)庫(kù)中的索引有什么用

主要作用就是提高檢索速度

數(shù)據(jù)庫(kù)表中的時(shí)間字段是否可以建立索引?

可以建立索引的;至于建立聚集索引或者是非聚集索引,那要看你這個(gè)時(shí)間字段的具體情況以及使用或變更頻繁程度。

一般來(lái)說(shuō),適合建立聚集索引的要求:“既不能絕大多數(shù)都相同,又不能只有極少數(shù)相同”的規(guī)則。

先說(shuō)說(shuō)一個(gè)誤區(qū):有人認(rèn)為:只要建立索引就能顯著提高查詢速度。這個(gè)想法是很錯(cuò)誤的。建立非聚集索引,確實(shí),一般情況下可以提高速度,但是一般并不會(huì)達(dá)到你想要的速度。只有在適當(dāng)?shù)牧薪⑦m當(dāng)?shù)模ň奂┧饕?,才能達(dá)到滿意的效果。

下面的表總結(jié)了何時(shí)使用聚集索引或非聚集索引(很重要)。

動(dòng)作描述 使用聚集索引 使用非聚集索引

列經(jīng)常被分組排序 應(yīng) 應(yīng)

返回某范圍內(nèi)的數(shù)據(jù) 應(yīng) 不應(yīng)

一個(gè)或極少不同值 不應(yīng) 不應(yīng)

小數(shù)目的不同值 應(yīng) 不應(yīng)

大數(shù)目的不同值 不應(yīng) 應(yīng)

頻繁更新的列 不應(yīng) 應(yīng)

外鍵列 應(yīng) 應(yīng)

主鍵列 應(yīng) 應(yīng)

頻繁修改索引列 不應(yīng)

別的就要看你的理解了。

如何正確使用數(shù)據(jù)庫(kù)索引

問(wèn)題補(bǔ)充:能不能具體點(diǎn),新建一個(gè)索引就可以了嗎

基本上可以這么說(shuō),不過(guò)你也可以修改索引。

記?。?/p>

索引其實(shí)關(guān)鍵目的是為了加快檢索速度而建立的,所以,怎么用索引是數(shù)據(jù)庫(kù)系統(tǒng)本身的事情,作為數(shù)據(jù)庫(kù)設(shè)計(jì)或使用者,設(shè)計(jì)并創(chuàng)建好索引然后體驗(yàn)加上索引后的查詢變快的感覺(jué)就行了。所以,索引怎么用就變?yōu)榱恕霸趺磩?chuàng)建合適的索引”

以下回答是否符合你的要求?你還有什么問(wèn)題?

之一次回答:

一、索引是什么

索引是與表或視圖關(guān)聯(lián)的磁盤上結(jié)構(gòu),可以加快從表或視圖中檢索行的速度。索引包含由表或視圖中的一列或多列生成的鍵。這些鍵存儲(chǔ)在一個(gè)結(jié)構(gòu)(B 樹(shù))中,使 SQL Server 可以快速有效地查找與鍵值關(guān)聯(lián)的行。

表或視圖可以包含以下類型的索引:

* 聚集

o 聚集索引根據(jù)數(shù)據(jù)行的鍵值在表或視圖中排序和存儲(chǔ)這些數(shù)據(jù)行。索引定義中包含聚集索引列。每個(gè)表只能有一個(gè)聚集索引,因?yàn)閿?shù)據(jù)行本身只能按一個(gè)順序排序。

o 只有當(dāng)表包含聚集索引時(shí),表中簡(jiǎn)銷的數(shù)據(jù)行才按排序順序存儲(chǔ)。如果表具有聚集索引,則該表稱為聚集表。如果表沒(méi)有聚集索引,則其數(shù)據(jù)行存儲(chǔ)在一個(gè)稱為堆的無(wú)序結(jié)構(gòu)中。

* 非聚集

o 非聚集索引具有獨(dú)立于數(shù)據(jù)行的結(jié)構(gòu)。非聚集索引包含非聚集索引鍵值,并且每個(gè)鍵值項(xiàng)都有指向包含該鍵值的數(shù)據(jù)行的指針。

o 從非聚集索引中的索引行指向數(shù)據(jù)行的指針?lè)Q為行定位器。行定位器的結(jié)構(gòu)取決于數(shù)據(jù)頁(yè)是存儲(chǔ)在堆中還是聚集表中。對(duì)于堆,行定位器是指向行的指針。對(duì)于聚集表,行定位器是聚集索引鍵。

o 您可以向非聚集索引的葉級(jí)添加非鍵列以跳過(guò)現(xiàn)有的索引鍵限制(900 字節(jié)和 16 鍵列),并執(zhí)行完整范圍內(nèi)的索引查詢。

聚集索引和非聚集索引都可以是唯一的。這意味著任何兩行都不能有相同的索引鍵值。另外,索引也可以不是唯一的,即多行可以共享同一鍵值。

每當(dāng)修改了表數(shù)據(jù)后,都會(huì)自動(dòng)維護(hù)表或視圖的索引。

索引和約束

對(duì)表列定義了 PRIMARY KEY 約束和 UNIQUE 約束時(shí),會(huì)自動(dòng)創(chuàng)建索引。例如,如果創(chuàng)建了表并將一個(gè)特定列標(biāo)識(shí)為主鍵,則 數(shù)據(jù)庫(kù)引擎自動(dòng)對(duì)該列創(chuàng)建 PRIMARY KEY 約束和索引。有關(guān)詳細(xì)信息,請(qǐng)參閱創(chuàng)建索引(數(shù)據(jù)庫(kù)引擎)。

二、索引有什么用

與書(shū)中的索引一樣,數(shù)據(jù)庫(kù)中的索引使您可以快速找到表或索引視圖中的特定信息。索引包含從表或視圖中一個(gè)或多個(gè)列生成的鍵,以及映射到指定數(shù)據(jù)的存儲(chǔ)位置的指針。通過(guò)創(chuàng)建設(shè)計(jì)良好的索引以支持查詢,可以顯著提高數(shù)據(jù)庫(kù)查詢和應(yīng)用程序的性能。索引可以減少為返回查詢結(jié)果集而必須讀取的數(shù)據(jù)量。索引還可以強(qiáng)制表中的行具有唯一性,從而確保表數(shù)據(jù)的數(shù)據(jù)完整性。

設(shè)計(jì)良好的索引可以減少磁盤 I/O 操作,并且消耗的系統(tǒng)資源也較少,從而可以提高查詢性能。對(duì)于包含 SELECT、UPDATE、DELETE 或 MERGE 語(yǔ)句的各種查詢,索引會(huì)很有用。例如,在 AdventureWorks 數(shù)據(jù)庫(kù)中執(zhí)行的查詢 SELECT Title, HireDate FROM HumanResources.Employee WHERE EmployeeID = 250。執(zhí)行此查詢時(shí),查詢優(yōu)化器評(píng)估可用于檢索數(shù)據(jù)的每個(gè)方法,然后選擇最有效的方法。可能采用的方法包括掃描表和掃描一個(gè)或多個(gè)索引(如果有)。

掃描表時(shí),查詢優(yōu)化器讀取表中的所有行,并提取滿足查詢條件的行。掃描表會(huì)有許多磁盤 I/O 操作,并占用大量資源。但是,如果查詢的結(jié)果集是占表中較高百分比的行,掃描攔絕游表會(huì)是最為有效的方法。

查詢優(yōu)化器使用索引時(shí),搜索索引鍵列,查找到查詢所需行的存儲(chǔ)位置,然后從該位置提取匹配行。通常,搜索索引比搜索表要快很多,因?yàn)樗饕c表不同,一般每行包含的列非常少,且行遵循排序順序。

查詢優(yōu)化器在執(zhí)行查詢時(shí)通常會(huì)選擇最有效的方法。但如果沒(méi)有索引,則查詢優(yōu)化器必須掃描表。您的任務(wù)是設(shè)計(jì)并創(chuàng)建最適合您的環(huán)境的索引,以便查詢優(yōu)化器可以從多個(gè)有效的索引中選擇。SQL Server 提供的數(shù)據(jù)庫(kù)引擎優(yōu)化顧問(wèn)可以幫助分析數(shù)據(jù)庫(kù)環(huán)境并選擇適當(dāng)?shù)乃饕?/p>

三、索引怎么用

索引其實(shí)關(guān)鍵目的是為了加快檢索速度而建立的,所宏槐以,怎么用索引是數(shù)據(jù)庫(kù)系統(tǒng)本身的事情,作為數(shù)據(jù)庫(kù)設(shè)計(jì)或使用者,設(shè)計(jì)并創(chuàng)建好索引然后體驗(yàn)加上索引后的查詢變快的感覺(jué)就行了。所以,索引怎么用就變?yōu)榱恕霸趺磩?chuàng)建合適的索引”,以下說(shuō)明這個(gè)問(wèn)題:

索引設(shè)計(jì)不佳和缺少索引是提高數(shù)據(jù)庫(kù)和應(yīng)用程序性能的主要障礙。設(shè)計(jì)高效的索引對(duì)于獲得良好的數(shù)據(jù)庫(kù)和應(yīng)用程序性能極為重要。為數(shù)據(jù)庫(kù)及其工作負(fù)荷選擇正確的索引是一項(xiàng)需要在查詢速度與更新所需開(kāi)銷之間取得平衡的復(fù)雜任務(wù)。如果索引較窄,或者說(shuō)索引關(guān)鍵字中只有很少的幾列,則需要的磁盤空間和維護(hù)開(kāi)銷都較少。而另一方面,寬索引可覆蓋更多的查詢。您可能需要試驗(yàn)若干不同的設(shè)計(jì),才能找到最有效的索引??梢蕴砑?、修改和刪除索引而不影響數(shù)據(jù)庫(kù)架構(gòu)或應(yīng)用程序設(shè)計(jì)。因此,應(yīng)試驗(yàn)多個(gè)不同的索引而無(wú)需猶豫。

SQL Server 中的查詢優(yōu)化器可在大多數(shù)情況下可靠地選擇更高效的索引??傮w索引設(shè)計(jì)策略應(yīng)為查詢優(yōu)化器提供可供選擇的多個(gè)索引,并依賴查詢優(yōu)化器做出正確的決定。這在多種情況下可減少分析時(shí)間并獲得良好的性能。若要查看查詢優(yōu)化器對(duì)特定查詢使用的索引,請(qǐng)?jiān)?SQL Server Management Studio 中的“查詢”菜單上選擇“包括實(shí)際的執(zhí)行計(jì)劃”。

不要總是將索引的使用等同于良好的性能,或者將良好的性能等同于索引的高效使用。如果只要使用索引就能獲得更佳性能,那查詢優(yōu)化器的工作就簡(jiǎn)單了。但事實(shí)上,不正確的索引選擇并不能獲得更佳性能。因此,查詢優(yōu)化器的任務(wù)是只在索引或索引組合能提高性能時(shí)才選擇它,而在索引檢索有礙性能時(shí)則避免使用它。

建議的索引設(shè)計(jì)策略包括以下任務(wù):

1. 了解數(shù)據(jù)庫(kù)本身的特征。例如,它是頻繁修改數(shù)據(jù)的聯(lián)機(jī)事務(wù)處理 (OLTP) 數(shù)據(jù)庫(kù),還是主要包含只讀數(shù)據(jù)的決策支持系統(tǒng) (DSS) 或數(shù)據(jù)倉(cāng)庫(kù) (OLAP) 數(shù)據(jù)庫(kù)?

2. 了解最常用的查詢的特征。例如,了解到最常用的查詢聯(lián)接兩個(gè)或多個(gè)表將有助于決定要使用的更佳索引類型。

3. 了解查詢中使用的列的特征。例如,某個(gè)索引對(duì)于含有整數(shù)數(shù)據(jù)類型同時(shí)還是唯一的或非空的列是理想索引。篩選索引適用于具有定義完善的數(shù)據(jù)子集的列。

4. 確定哪些索引選項(xiàng)可在創(chuàng)建或維護(hù)索引時(shí)提高性能。例如,對(duì)現(xiàn)有某個(gè)大型表創(chuàng)建聚集索引將會(huì)受益于 ONLINE 索引選項(xiàng)。ONLINE 選項(xiàng)允許在創(chuàng)建索引或重新生成索引時(shí)繼續(xù)對(duì)基礎(chǔ)數(shù)據(jù)執(zhí)行并發(fā)活動(dòng)。

5. 確定索引的更佳存儲(chǔ)位置。非聚集索引可以與基礎(chǔ)表存儲(chǔ)在同一個(gè)文件組中,也可以存儲(chǔ)在不同的文件組中。索引的存儲(chǔ)位置可通過(guò)提高磁盤 I/O 性能來(lái)提高查詢性能。例如,將非聚集索引存儲(chǔ)在表文件組所在磁盤以外的某個(gè)磁盤上的一個(gè)文件組中可以提高性能,因?yàn)榭梢酝瑫r(shí)讀取多個(gè)磁盤。

或者,聚集索引和非聚集索引也可以使用跨越多個(gè)文件組的分區(qū)方案。在維護(hù)整個(gè)的完整性時(shí),使用分區(qū)可以快速而有效地訪問(wèn)或管理數(shù)據(jù)子集,從而使大型表或索引更易于管理。有關(guān)詳細(xì)信息,請(qǐng)參閱已分區(qū)表和已分區(qū)索引。在考慮分區(qū)時(shí),應(yīng)確定是否應(yīng)對(duì)齊索引,即,是按實(shí)質(zhì)上與表相同的方式進(jìn)行分區(qū),還是單獨(dú)分區(qū)。

# 設(shè)計(jì)索引。

索引設(shè)計(jì)是一項(xiàng)關(guān)鍵任務(wù)。索引設(shè)計(jì)包括確定要使用的列,選擇索引類型(例如聚集或非聚集),選擇適當(dāng)?shù)乃饕x項(xiàng),以及確定文件組或分區(qū)方案布置。

# 確定更佳的創(chuàng)建方法。按照以下方法創(chuàng)建索引:

* 使用 CREATE TABLE 或 ALTER TABLE 對(duì)列定義 PRIMARY KEY 或 UNIQUE 約束

SQL Server 數(shù)據(jù)庫(kù)引擎自動(dòng)創(chuàng)建唯一索引來(lái)強(qiáng)制 PRIMARY KEY 或 UNIQUE 約束的唯一性要求。默認(rèn)情況下,創(chuàng)建的唯一聚集索引可以強(qiáng)制 PRIMARY KEY 約束,除非表中已存在聚集索引或指定了唯一的非聚集索引。默認(rèn)情況下,創(chuàng)建的唯一非聚集索引可以強(qiáng)制 UNIQUE 約束,除非已明確指定唯一的聚集索引且表中不存在聚集索引。

還可以指定索引選項(xiàng)和索引位置、文件組或分區(qū)方案。

創(chuàng)建為 PRIMARY KEY 或 UNIQUE 約束的一部分的索引將自動(dòng)給定與約束名稱相同的名稱。

* 使用 CREATE INDEX 語(yǔ)句或 SQL Server Management Studio 對(duì)象資源管理器中的“新建索引”對(duì)話框創(chuàng)建獨(dú)立于約束的索引

必須指定索引的名稱、表以及應(yīng)用該索引的列。還可以指定索引選項(xiàng)和索引位置、文件組或分區(qū)方案。默認(rèn)情況下,如果未指定聚集或唯一選項(xiàng),將創(chuàng)建非聚集的非唯一索引。若要?jiǎng)?chuàng)建篩選索引,請(qǐng)使用可選的 WHERE 子句。

# 創(chuàng)建索引。

要考慮的一個(gè)重要因素是對(duì)空表還是對(duì)包含數(shù)據(jù)的表創(chuàng)建索引。對(duì)空表創(chuàng)建索引在創(chuàng)建索引時(shí)不會(huì)對(duì)性能產(chǎn)生任何影響,而向表中添加數(shù)據(jù)時(shí),會(huì)對(duì)性能產(chǎn)生影響。

對(duì)大型表創(chuàng)建索引時(shí)應(yīng)仔細(xì)計(jì)劃,這樣才不會(huì)影響數(shù)據(jù)庫(kù)性能。對(duì)大型表創(chuàng)建索引的首選方法是先創(chuàng)建聚集索引,然后創(chuàng)建任何非聚集索引。在對(duì)現(xiàn)有表創(chuàng)建索引時(shí),請(qǐng)考慮將 ONLINE 選項(xiàng)設(shè)置為 ON。該選項(xiàng)設(shè)置為 ON 時(shí),將不持有長(zhǎng)期表鎖以繼續(xù)對(duì)基礎(chǔ)表的查詢或更新。

關(guān)于數(shù)據(jù)庫(kù)索引的應(yīng)用的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。

成都網(wǎng)站建設(shè)選創(chuàng)新互聯(lián)(?:028-86922220),專業(yè)從事成都網(wǎng)站制作設(shè)計(jì),高端小程序APP定制開(kāi)發(fā),成都網(wǎng)絡(luò)營(yíng)銷推廣等一站式服務(wù)。


當(dāng)前名稱:數(shù)據(jù)庫(kù)索引:優(yōu)化數(shù)據(jù)查詢的必要工具(數(shù)據(jù)庫(kù)索引的應(yīng)用)
標(biāo)題來(lái)源:http://www.dlmjj.cn/article/cdjieje.html