我们有一张名为“posts_content”的mysql表。
其结构如下:
问题在于表格变得非常庞大。我们有一个爬虫引擎,需要处理许多吉比字节的数据。我们每天都向表格中插入数据,但很少检索数据。现在,由于表格变得非常庞大,难以处理该表格。
我们讨论了两种可能性:
1. 使用MySQL的分区功能,使用forum_id对表格进行分区(大约有50个forum_id,因此会有大约50个分区。请注意,即使每个分区都这样做,最终也会再次增长到许多吉比字节的数据,甚��可能需要自己的驱动器)。 2. 为每个forum_id创建单独的表格,并按此方式拆分数据。
我希望我已经清楚地解释了问题。我需要知道上述两种解决方案中哪一种在长期运行中更好。这两种情况的优缺点是什么。
谢谢。
CREATE TABLE IF NOT EXISTS `posts_content` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`post_id` int(11) NOT NULL,
`forum_id` int(11) NOT NULL,
`content` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=79850 ;
问题在于表格变得非常庞大。我们有一个爬虫引擎,需要处理许多吉比字节的数据。我们每天都向表格中插入数据,但很少检索数据。现在,由于表格变得非常庞大,难以处理该表格。
我们讨论了两种可能性:
1. 使用MySQL的分区功能,使用forum_id对表格进行分区(大约有50个forum_id,因此会有大约50个分区。请注意,即使每个分区都这样做,最终也会再次增长到许多吉比字节的数据,甚��可能需要自己的驱动器)。 2. 为每个forum_id创建单独的表格,并按此方式拆分数据。
我希望我已经清楚地解释了问题。我需要知道上述两种解决方案中哪一种在长期运行中更好。这两种情况的优缺点是什么。
谢谢。