2010-12-21 62 views
1

我讀到過,在表格有很多列的情況下,但大多數時候只有其中一個列表被使用(比如論壇帖子中的標題列),提高性能的方法是成爲兩個表的分區,其中一個只包含標題,另一個包含其他列(如論壇帖子主體)。MySQL中表格的分區

但是,如果我用

select ForumTitle from Forum; 

將不是足夠好,以防止所有列的負載(如論壇帖子的身體)內存,並消除分區的需要?

感謝,

喬爾

回答

2

號分區表的想法是,結果表要小得多;它適合較少的頁面。因此,如果MySQL需要頻繁訪問數據,那麼請求包含ForumTitles的數據已經在內存中的機會要大得多。

如果一個表包含很多字段,則需要在內存中緩存更多頁以緩存相同數量的ForumTitles。

MySQL在頁面上按順序存儲一行的所有列,無法加載也不緩存行的一部分。