我有一个场景,其中有大量关于项目的状态数据。 该项目的状态从分钟到分钟更新,在不久的将来约有50,000件物品。因此,在一个月内,将会有约22.23亿行数据。在获得旧数据之前,我必须在主表中保留至少3个月的时间。我必须计划根据特定项目(其ID)和数据范围(通常最多一个月范围)来实现快速查询 - 例如,从表中选择A,B,C其中ItemID = 3000和'2010-10-01'和'2010-10-31 23:59:59.999'之间的日期'在SQL Server 2008中为查询性能分区
所以我的问题是如何设计一个分区结构实现那个?
目前,我基于“项目的唯一标识符”(一个int)mod“分区数”进行分区,以便所有分区平均分配。但是它的缺点是在表上保留一列作为分区函数的分区列,因此将该行映射到其分区。所有这些都增加了一点额外的存储空间。另外,每个分区都映射到不同的文件组。
这是一些负载。阅读[这里](http://sqlblog.com/blogs/paul_nielsen/archive/2007/12/12/10-lessons-from-35k-tps.aspx)关于大量写入(你有50k行*每秒*来电)。我很好奇你将如何解决这个问题:我没有这种数量/增长率的经验) – gbn 2010-11-22 18:58:38
你想要设计写查询效率还是读查询效率?你有什么样的读取负载? – 2010-11-30 12:56:24