0

我正在使用 MySQL。我需要将 XML 文件的内容保存到数据库。文件的大小通常小于 10k。

该表如下所示:

articles
-----------
id
date
writer
...
file_name
file_content (Text)
file_date

date当我只选择and时,拆分表会提高性能writer吗?还是有任何其他理由拆分此表?

4

1 回答 1

3

这称为垂直分区。

基本上,如果您的总数据集非常大(例如,大于 RAM),并且您的大多数查询不使用大的 file_content 数据,则将其放在另一个表中会使主表小得多,因此更好地缓存在 RAM 中,而且快得多。

当然,检索 file_content 会慢一些,所以这取决于你使用它的频率。

我在论坛上使用了这种技术。我将帖子文本(bbcode 解析为 HTML)存储在主表中,并将原始帖子(bbcode)存储在另一个表中。显示论坛页面时,仅命中主表。原始帖子文本仅用于编辑帖子。这将帖子表大小除以 2,并且避免了将该服务器上的 RAM 翻倍。

于 2011-07-17T09:00:27.520 回答