【发布时间】:2011-04-14 16:07:52
【问题描述】:
我在数据库中有一个巨大的表,我想在物理上将它分成几个部分,以维护数据库方案。
例如,表名为 TableName,有 2 000 000 行。
我想把这张桌子分成四部分,但我想用同样的方式处理这张桌子,所以
select [Column List] from TableName where [Filter]
insert into TableName ([Column List]) values([Values])
update TableName [Updates] where [Filter]
delete from TableName where [filter]
拆分表格后的工作方式与之前相同。基本上我希望我的数据库在不同的线程中处理我的查询。我怎样才能做到这一点?
提前致谢。
【问题讨论】:
-
正如 Hammerite 分区所提到的,这将是更好的解决方案。但是,2 000 000 并没有那么多,而且具有良好的索引和设计良好的查询根本不会运行缓慢。
-
问题是几个选择是由一个自动项目完成的,该项目在几个服务器的每一个上运行在五个线程上,并且表也有很多列。有时在数据库中执行一些简单的命令需要很长时间。因此,我们不是在谈论运行选择查询,而是在谈论每秒运行数十个甚至更多查询,将数据复制到网站上显示的从属副本。因此,在我们的例子中,分区是唯一的选择。该表已编入索引。
标签: mysql large-data