MySQL表大小限制和性能

时间:2013-11-21 21:18:48

标签: mysql sql

在MySQL数据库中,我有一个包含330列的表,每列都是浮点值或整数值。条目由毫秒时间戳列索引。在应用程序的整个生命周期中,预计将有大约1亿到2亿条目。该表完全独立,与其他表无关。唯一的查询是按时间戳索引过滤的查询。

假设我有一个具有6个核心和32GB内存的现代英特尔服务器以及足够的磁盘存储空间,那么是否可以达到任何大小限制或性能会显着下降?

如果会出现问题,应采取哪些措施来缓解这些问题。

我知道有类似的问题已被问到,但答案似乎总是取决于它。希望我提供了足够的信息,以便确定明确的答案。

1 个答案:

答案 0 :(得分:1)

为这么小的数据集哇这么大的硬件!

此数据集不会出现任何不可逾越的问题。

每行

330列* 8字节= 2640字节(最大值) 2640字节* 2亿行= 491GB

它很大,但不是很大。这真的取决于你要对数据做什么。如果您要“附加”数据,请不要更新或插入(在您的情况下插入较早的时间戳),这样可以消除两个可能引起关注的原因。

如果要查询时间戳索引,是否要使用RANGE或特定时间戳?

查询范围将很好 - 使您的时间戳成为聚簇索引列。由于您正在执行某些之前的插入,这可能会导致您的表碎片但这不是一个非常大的问题 - 如果可以的话,您可以defragment the table

性能的一个重要选择是InnoDB或MyISAM - InnoDB具有完整的事务功能 - 但你需要这个吗?它涉及两倍的写入,但对于没有参照完整性的单个表,您可能会没问题 - more here.