2011-12-17 108 views

回答

0

創建與維護的關係

根據且僅限於要求

-1

大表的文件,由谷歌公佈選擇表中的字段InnoDB存儲引擎所有的表,可能會難以閱讀。希望我的回答能幫助你開始理解。

在舊時代,存儲數據按照行RDBMS中,一個記錄一行,1,2,3,4,5 .....

然後,如果你想找到的記錄5,它的確定,數據庫會在B +樹(或類似的東西)中尋找記錄5的地址,爲你加載它。

但是,噩夢是當你想要獲得具有列「用戶=邁克爾」的記錄時,數據庫無法找到每個記錄來檢查用戶是否是「邁克爾」。

大表有不同的方式來存儲數據。它通過倒置表來存儲所有的列。當我們想要找出滿足「user = Michael」的所有記錄時,它通過B +樹或散列表將它作爲一個鍵找到,並獲得倒排表的地址,其中存儲了滿足所有記錄的列表。

也許一個好的起點是Lucene,一個開源的全文搜索引擎,完全實現了大表原則。

注意,倒排表不是RDBMS中的一個基於列的存儲。他們是不同的,請記住這一點。