近期我們的數(shù)據(jù)庫應(yīng)用課程講解到了課本的第五章排序與索引,排序與索引都是讓表格中的記錄有序排列的一種機(jī)制和方法。那二者之間的區(qū)別在哪呢,下面我們來做一個(gè)分析。
索引是按照索引表達(dá)式的值使數(shù)據(jù)表中的記錄有序排列的一種技術(shù),一個(gè)索引表達(dá)式或索引關(guān)鍵字段值與記錄號(hào)對(duì)應(yīng)的內(nèi)容又稱之為一張“對(duì)照表”,用一個(gè)索引標(biāo)識(shí)來標(biāo)記。
排序是按指定關(guān)鍵字段值的順序?qū)?shù)據(jù)表記錄的存放次序重新排列,修改原記錄號(hào),并生成一個(gè)新的數(shù)據(jù)表文件,但原數(shù)據(jù)表文件的記錄順序任然保持不變。
二者區(qū)別:
一、排序后,新表中記錄號(hào)發(fā)生了改變(物理排序),而索引后的記錄號(hào)沒有改變(邏輯排序)。
二、雖然排序和索引都以增加一個(gè)文件為代價(jià),但是索引文件只包含兩個(gè)字段(索引關(guān)鍵字值與記錄在原表中的記錄號(hào)),比排序后的表要小許多。索引起作用時(shí),修改表中的記錄數(shù)據(jù)后,索引文件會(huì)自動(dòng)更新,排序文件無此功能。
三、索引文件依賴數(shù)據(jù)表文件。實(shí)際操作時(shí),需要打開表及其相應(yīng)索引文件,才能實(shí)現(xiàn)快速查詢等功能。而排序文件本身就是一個(gè)數(shù)據(jù)表,可以獨(dú)立操作。另外,索引文件較小,節(jié)省存儲(chǔ)空間以及讀寫時(shí)間,有利于系統(tǒng)效率的提高,而排序文件會(huì)造成數(shù)據(jù)冗余。 |