top
Loading...
7.4.1.設計選擇
7.4.1. 設計選擇

MySQL將行數據和索引數據保存在不同的文件中。許多(幾乎所有)其它數據庫將行數據和索引數據混合保存在用一個文件中。我們認為MySQL 選擇對廣范圍的現代系統更好一些。

保存行數據的另一種方式是將每個列的信息保存在單獨的區域(例如SDBMFocus)。這樣會對每個訪問多個列的查詢造成性能問題。因為當訪問多個列時退化得很快,我們認為該模型對一般數據庫不合適。

更常見的情形是索引和數據保存在一起(例如Oracle/Sybase)。在這種情況下,你可以在索引的葉級頁找到行的信息。該布局比較好的事情是在許多情況下,根據索引緩存得怎樣,可以保存一個硬盤讀取。該布局的不利之處表現在:

·         表掃描要慢得多,因為你必須通讀索引以獲得數據。

·         你不能只使用表來檢索查詢的數據。

·         你需要使用更多的空間,因為你必須從節點復制索引(你不能保存節點上的行)

·         刪除要經過一段時間后才退化表(因為刪除時通常不會更新節點上的索引)

·         只緩存索引數據會更加困難。

作者:mysql.com
來源:http://dev.mysql.com/doc/refman/5.1/zh/optimization.html
北斗有巢氏 有巢氏北斗