- Access 2013 數(shù)據(jù)庫管理與應用從新手到高手
- 吳華 楊繼萍 葛春雷等編著
- 2153字
- 2021-03-12 17:20:25
4.2 創(chuàng)建及使用索引
在Access中,用戶可通過創(chuàng)建索引,來加快搜索表和排序表記錄的操作速度。
4.2.1 索引概述
使用索引可以幫助Access更快速地查找記錄并對其進行排序。
1.了解索引
索引根據(jù)自身包含的一個或多個字段來存儲記錄的位置,它自身比所描述的表小很多,以便于Access能夠更有效地進行讀取,其具體速度則取決于索引字段的唯一值的數(shù)據(jù)。
索引的工作方式類似于書籍中索引的工作方式,其中書籍索引是一個包含書中出現(xiàn)的詞語的列表,該列表中的每個條目顯示了包含特定詞語頁面的頁碼,以便用戶根據(jù)特定詞語查找到特定頁面,這樣一來比翻書查找的速度快多了。
在Access中,索引類似于一個表中出現(xiàn)的字段值的列表,該列表中的每個條目還顯示了包含字段值的記錄的位置。若要查找某個特定的字段值,使用索引進行查找要比查閱整個表格進行讀取的速度快得多。
使用索引可以更快地查找出現(xiàn)次數(shù)較少的字段值,表中不同字段值的數(shù)量越多,索引對提高搜索和選擇查詢的性能的幫助就越大。
當Access通過索引獲得記錄的位置后,可通過直接移動到正確的位置來檢索這些記錄中的數(shù)據(jù)。這樣一來,使用索引查找數(shù)據(jù)會比通過掃描表中的所有記錄來查找數(shù)據(jù)快很多。
而在追加、刪除或更新數(shù)據(jù)時,必須更新受影響表中的所有索引以反映當前的數(shù)據(jù)變化,否則將會影響索引性能。例如,如果用戶進行數(shù)據(jù)更改,則必須同時更改索引,否則索引在查找時將不會顯示正確的結(jié)果,并且會浪費大量的索引時間。
2.可以創(chuàng)建索引的字段
在Access中,可以根據(jù)一個或多個字段來創(chuàng)建索引。在創(chuàng)建索引時,應考慮索引為經(jīng)常使用的、進行排序的字段,以及在查詢中連接到其他表中的字段。
索引可以幫助加快搜索和選擇查詢的速度,但當用戶添加或更新數(shù)據(jù)時,則會降低索引的性能。如果在包含一個或多個索引字段的表中輸入數(shù)據(jù),則每次添加或更改記錄時,Access都必須更新索引。
其中,表中的數(shù)據(jù)是自動創(chuàng)建索引的。但是,系統(tǒng)無法為數(shù)據(jù)類型為“OLE對象”、“附件”或“計算”的字段創(chuàng)建索引。對于其他字段,如果滿足以下條件,則可以考慮為字段創(chuàng)建索引。
?預期會搜索存儲在字段中的值。
?預期會對字段中的值進行排序。
?預期會在字段中存儲許多不同的值。如果字段中的許多值都是相同的,則索引可能無法明顯地加快查詢速度。
3.多字段索引
當用戶經(jīng)常同時依據(jù)兩個或多個字段進行搜索或排序時,則可以為該字段組合創(chuàng)建索引。例如,經(jīng)常在同一個查詢中為“供貨商”和“產(chǎn)品名稱”字段指定條件,則可以在這兩個字段上創(chuàng)建多字段索引。
依據(jù)多字段索引對表進行排序時,Access會先依據(jù)為索引定義的第一個字段進行排序。而創(chuàng)建多字段索引時,需要指定字段的先后次序。
如果在第一個字段中的記錄具有重復值,則Access會接著依據(jù)為索引定義的第二個字段進行排序,以此類推。在一個多字段索引中,最多可以包含10個字段。
4.2.2 創(chuàng)建索引
要創(chuàng)建索引,需要先決定是創(chuàng)建單字段索引,還是多字段索引。
通過設置【索引】屬性可創(chuàng)建單字段索引。下表列出了【索引】屬性的可能設置。

如果創(chuàng)建唯一索引,則Access不允許在字段中輸入與其他記錄同一字段中存在的值。否則,Access會自動為主鍵創(chuàng)建唯一索引。
1.創(chuàng)建單字段索引
在【導航】窗格中,右擊需要創(chuàng)建索引的表,執(zhí)行【設計視圖】命令。
在【設計】視圖中,選擇需要創(chuàng)建索引的字段,在【常規(guī)】選項卡中,單擊【索引】下拉按鈕,選擇相應的選項即可。例如,如果允許重復,則需要選擇【有(有重復)】選項,否則選擇【有(無重復)】選項,以創(chuàng)建唯一索引。


2.創(chuàng)建多字段索引
在【設計】視圖中,執(zhí)行【表格工具】|【顯示/隱藏】|【索引】命令,在彈出的【索引:職工信息】對話框中,將顯示【員工編號】主鍵的索引。

若為表創(chuàng)建多字段索引,則需要在【索引名稱】列中輸入索引名稱,并在【字段名稱】列中選擇所需要創(chuàng)建索引的字段名稱。


添加索引字段后,系統(tǒng)默認的排序次序為升序排列。此時,可以在【索引:職工信息】對話框中的【排序次序】列中,來設置排序次序。
在【索引:職工信息】對話框中的【索引屬性】中,可以為【索引名稱】列中包含索引名稱的行指定索引屬性。各索引屬性的具體含義,如下表所示。

3.自動創(chuàng)建索引
當用戶導入外部數(shù)據(jù)時,用戶可以根據(jù)導入的內(nèi)容添加索引字段,即自動創(chuàng)建索引。
例如,在導入外部的Excel文件中的數(shù)據(jù)時,可在【導入數(shù)據(jù)表向?qū)А繉υ捒蛑校砑铀饕侄巍?/p>

然后,執(zhí)行【文件】|【選項】命令,在【Access選項】對話框中,激活【對象設計器】選項卡,在【導入/創(chuàng)建時自動索引】文本框中編輯索引字段名稱,并以分號(;)分隔。

4.2.3 編輯索引
創(chuàng)建索引之后,用戶可以隨時查看表中的索引字段。另外,還可以將多余的索引刪除。
1.查看索引
如果想查看表中的索引,以衡量它們對性能的影響,或者確保為特定的字段創(chuàng)建索引,則需要在【導航】窗格中,右擊想要查看索引的表,執(zhí)行【設計視圖】命令,切換到【設計】視圖中。
然后,執(zhí)行【表格工具】|【設計】|【顯示/隱藏】|【索引】命令,在彈出的對話框中可以查看該表中的索引。

除此之外,用戶還可以在該對話框中,編輯索引及索引屬性。
2.刪除索引
當用戶發(fā)現(xiàn)某個索引已變得多余或?qū)π阅艿挠绊懱髸r,則需要刪除該索引。在刪除索引時,系統(tǒng)只會刪除該索引,而不會刪除建立索引時所依據(jù)的字段。
在【設計】視圖中,執(zhí)行【表格工具】|【設計】|【顯示/隱藏】|【索引】命令。在彈出的對話框中,選擇需要刪除的索引所在的行,按下Delete鍵即可。

- 數(shù)據(jù)庫基礎教程(SQL Server平臺)
- Python數(shù)據(jù)分析入門:從數(shù)據(jù)獲取到可視化
- Oracle RAC 11g實戰(zhàn)指南
- 數(shù)據(jù)結(jié)構(gòu)與算法(C語言版)
- iOS and OS X Network Programming Cookbook
- 大數(shù)據(jù)架構(gòu)和算法實現(xiàn)之路:電商系統(tǒng)的技術(shù)實戰(zhàn)
- 數(shù)據(jù)庫原理與應用(Oracle版)
- Starling Game Development Essentials
- Power BI商業(yè)數(shù)據(jù)分析完全自學教程
- PostgreSQL指南:內(nèi)幕探索
- SQL Server深入詳解
- Expert Python Programming(Third Edition)
- SOLIDWORKS 2018中文版機械設計基礎與實例教程
- 標簽類目體系:面向業(yè)務的數(shù)據(jù)資產(chǎn)設計方法論
- Tableau商業(yè)分析從新手到高手(視頻版)