MySQL中表的分区

时间:2010-12-21 10:50:52

标签: mysql

我已经读过,如果一个表有很多列,但大部分时间只使用其中一个(比如论坛帖子中的标题列),提高性能的方法就是分区到两个表格,其中一个将仅包含标题,另一个将包含其他列(例如论坛帖子正文)。

但是,如果我使用

select ForumTitle from Forum;

不足以阻止所有列(例如论坛帖子的主体)加载到内存中,并且不需要分区吗?

谢谢,

乔尔

1 个答案:

答案 0 :(得分:2)

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

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

MySQL在页面上按顺序存储行的所有列,并且不能仅加载或缓存行的一部分。

相关问题