我想按日期范围对一个拥有100万行以上的表进行分区。如何在不需要太多停机时间或者冒失丢失数据的情况下完成这个任务?以下是我考虑的策略,但我也愿意听取建议: 1. 现有表作为主表,子表从主表继承。随着时间推移,将数据从主表转移到子表,但在某段时间内,部分数据会存在于主表中,而另一部分数据则存在...
我在PostgreSQL 9.0.8中有一个包含大量对象(15M+行)的表,我想查询过时的字段。 为了可扩展性和并发性,我想将查询分成数百万个部分,并获取所有更新日期为几天前的数据。 我尝试了许多索引和查询,对于一百万个ID,我似乎无法在Heroku的Ronin硬件上获得低于100秒的性能...
我对表分区的利弊还有些困惑。我即将开始一个项目,其中会有8个表,其中一个将是主数据表,将保存1.8-2.6亿条记录。由于这将是一个适当建立索引的表,所以我考虑将表记录限制在2000万条,这样我就需要创建9-13个表。 但我不太确定这样做会如何提高性能,因为它们将位于同一台机器上(32GB R...
我想列出在PostgreSQL 9.1中由动态触发器创建的所有分区。 我能够使用Frank Heikens提供的相关答案生成分区计数。 我有一个名为foo的表,它有一个插入触发器,可以动态地创建foo_1、foo_2等。插入的分区是根据主键id选择的,采用基于范围的分区方式。 是否有可能显...
我正在基于一个非主键列对表进行分区?今天我读到了一些关于分区列是否必须是主键的矛盾信息。我的直觉是不需要,但我不能100%确定。所以有以下问题... 分区列必须是主键的一部分吗?推荐采用哪种方式? 我是否需要为分区键创建索引,还是数据库管理系统会自动完成?
我有一张带有数据的现有表格: dbo.Test (col1,col2,col3....) ON [PRIMARY] 我需要将这个表按照这样的方式进行分区更改: dbo.Test(col1,col2,col3....) ON Ps_Date(Col2) 如何在不删除和重新创建表的情况...
几年来一直涉足"NoSQL"领域,现在我遇到了一个相当"关系型"的问题。 如今,我对数据存储的看法与以前完全不同。像Riak这样的东西已经让我变得挑剔,再也无法容忍单点故障、"维护中"等问题。当然,(或者我希望如此),我并没有完全失去理智。这是一个个人项目,目前(或者还)没有极高的要求。 大...
提前为这个非常详细的问题道歉。我已经包含了一些查询来生成一个完整的数据集,以便重现这个问题。我在一台32核的机器上运行SQL Server 2012。然而,我认为这个问题不仅限于SQL Server 2012,并且我在这个特定的例子中强制将MAXDOP设置为10。 我有两个使用相同分区方案进...
是的,我知道数据规范化应该是我的首要任务(因为它确实如此)。 1. 我有一个包含65个列的表,存储着车辆数据,列包括:used_vehicle、color、doors、mileage、price等等,总共65个列。 2. 现在,我可以将其分成一个Vehicle表、VehicleInterio...