在我所教授的《數(shù)據(jù)庫(kù)應(yīng)用》課程中,索引是一個(gè)很重要的知識(shí)點(diǎn),由于索引和排序有一些相似的地方,學(xué)生在學(xué)習(xí)的過(guò)程中容易混淆,現(xiàn)把相關(guān)知識(shí)進(jìn)行總結(jié),以便學(xué)生能夠更好的理解。
首先,在概念上是有一定區(qū)分的。索引是建立在索引文件中,可以為一個(gè)表建立多個(gè)索引,每一索引代表一種處理記錄的順序。索引文件不改變數(shù)據(jù)表中記錄的物理順序,也不建立新的數(shù)據(jù)表。排序是按指定關(guān)鍵字段值的順序?qū)?shù)據(jù)表記錄的存放次序重新排列,修改原記錄號(hào),并生成一個(gè)新的數(shù)據(jù)表文件,但原數(shù)據(jù)表文件的記錄順序仍然保持不變,而新的表文件的記錄順序和原來(lái)的表文件不同。
其次,建立索引和排序時(shí)使用的命令不同。
。1) 建立索引的命令格式如下:
INDEX ON 索引表達(dá)式 TO 單索引文件名|TAG 索引名 [FOR 條件表達(dá)式] [ASCENDING│DESCENDING] [UNIQUE│CANDIDATE][ADDITIVE]
(2) 建立排序的命令格式如下:
命令格式:SORT TO <排序文件> ON<字段1>[/A| D][/C] [,字段2][/A |/D][/C] ... [<范圍>] [FIELDS<字段表>][FOR|WHILE <條件>]
最后,在數(shù)據(jù)庫(kù)中索引文件依賴(lài)于數(shù)據(jù)表文件。實(shí)際操作時(shí),需要在打開(kāi)表及其相應(yīng)索引文件,才能實(shí)現(xiàn)快速查詢(xún)等功能。而排序文件本身就是一個(gè)數(shù)據(jù)表,可以獨(dú)立操作。另外,索引文件較小,節(jié)省存儲(chǔ)空間以及讀寫(xiě)時(shí)間,有利于系統(tǒng)效率的提高。索引文件打開(kāi)后,能隨著對(duì)表文件的修改而自動(dòng)更新,排序命令建立的新表則不能與原表同步修改。因此,在數(shù)據(jù)庫(kù)中大多數(shù)情況下應(yīng)當(dāng)使用索引。
工程技術(shù)系:薛茹 |