2010-12-21 47 views
1

我读到过,在表格有很多列的情况下,但大多数时候只有其中一个列表被使用(比如论坛帖子中的标题列),提高性能的方法是成为两个表的分区,其中一个只包含标题,另一个包含其他列(如论坛帖子主体)。MySQL中表格的分区

但是,如果我用

select ForumTitle from Forum; 

将不是足够好,以防止所有列的负载(如论坛帖子的身体)内存,并消除分区的需要?

感谢,

乔尔

回答

2

号分区表的想法是,结果表要小得多;它适合较少的页面。因此,如果MySQL需要频繁访问数据,那么请求包含ForumTitles的数据已经在内存中的机会要大得多。

如果一个表包含很多字段,则需要在内存中缓存更多页以缓存相同数量的ForumTitles。

MySQL在页面上按顺序存储一行的所有列,无法加载也不缓存行的一部分。