47得票2回答
如何在PostgreSQL中分割现有表?

我想按日期范围对一个拥有100万行以上的表进行分区。如何在不需要太多停机时间或者冒失丢失数据的情况下完成这个任务?以下是我考虑的策略,但我也愿意听取建议: 1. 现有表作为主表,子表从主表继承。随着时间推移,将数据从主表转移到子表,但在某段时间内,部分数据会存在于主表中,而另一部分数据则存在...

38得票1回答
日期的索引优化

我在PostgreSQL 9.0.8中有一个包含大量对象(15M+行)的表,我想查询过时的字段。 为了可扩展性和并发性,我想将查询分成数百万个部分,并获取所有更新日期为几天前的数据。 我尝试了许多索引和查询,对于一百万个ID,我似乎无法在Heroku的Ronin硬件上获得低于100秒的性能...

31得票2回答
获取表的所有分区名称

我想列出在PostgreSQL 9.1中由动态触发器创建的所有分区。 我能够使用Frank Heikens提供的相关答案生成分区计数。 我有一个名为foo的表,它有一个插入触发器,可以动态地创建foo_1、foo_2等。插入的分区是根据主键id选择的,采用基于范围的分区方式。 是否有可能显...

30得票4回答
如何获取数据库中所有分区表的列表?

如何获取数据库中所有分区表的列表? 我应该查看哪些系统表/DMV?

27得票3回答
分区键是否也必须是主键的一部分?

我正在基于一个非主键列对表进行分区?今天我读到了一些关于分区列是否必须是主键的矛盾信息。我的直觉是不需要,但我不能100%确定。所以有以下问题... 分区列必须是主键的一部分吗?推荐采用哪种方式? 我是否需要为分区键创建索引,还是数据库管理系统会自动完成?

26得票2回答
如何对现有的未分区表进行分区

我有一张带有数据的现有表格: dbo.Test (col1,col2,col3....) ON [PRIMARY] 我需要将这个表按照这样的方式进行分区更改: dbo.Test(col1,col2,col3....) ON Ps_Date(Col2) 如何在不删除和重新创建表的情况...

22得票2回答
在数据“自然可分区”的情况下,将PostgreSQL跨多台机器进行分区的现代方法是什么?

几年来一直涉足"NoSQL"领域,现在我遇到了一个相当"关系型"的问题。 如今,我对数据存储的看法与以前完全不同。像Riak这样的东西已经让我变得挑剔,再也无法容忍单点故障、"维护中"等问题。当然,(或者我希望如此),我并没有完全失去理智。这是一个个人项目,目前(或者还)没有极高的要求。 大...

22得票2回答
SQL Server在两个等效分区表上不会对并行合并连接进行优化。

提前为这个非常详细的问题道歉。我已经包含了一些查询来生成一个完整的数据集,以便重现这个问题。我在一台32核的机器上运行SQL Server 2012。然而,我认为这个问题不仅限于SQL Server 2012,并且我在这个特定的例子中强制将MAXDOP设置为10。 我有两个使用相同分区方案进...

22得票2回答
在性能方面,许多列与少量表之间的比较 在性能方面,我们经常会遇到一个问题:是使用许多列和少量表,还是相反?这个问题没有简单的答案,因为它取决于具体的情况和需求。 让我们先来看看使用许多列的情况。当我们有大量的数据需要存储时,使用许多列可能是一个不错的选择。这样做可以减少表之间的连接操作,提高查询的速度。此外,由于数据都存储在同一张表中,维护起来也更加方便。 然而,使用许多列也存在一些缺点。首先,当我们只需要查询表中的部分列时,查询的效率可能会降低。其次,如果我们需要频繁地更新或删除某些列,那么维护起来可能会变得非常困难。 另一方面,使用少量表可能更适合某些情况。当我们的数据结构比较复杂,或者需要进行复杂的关联查询时,使用少量表可能更加灵活和可扩展。此外,如果我们需要频繁地更新或删除某些数据,使用少量表可能更容易实现。 然而,使用少量表也有一些缺点。首先,由于表之间需要进行连接操作,查询的速度可能会受到一定的影响。其次,维护多个表可能会变得复杂和繁琐。 总之,在选择使用许多列还是少量表时,我们需要权衡各种因素,包括数据量、查询需求、更新频率等。没有一种方法适用于所有情况,所以我们需要根据具体情况做出决策。

是的,我知道数据规范化应该是我的首要任务(因为它确实如此)。 1. 我有一个包含65个列的表,存储着车辆数据,列包括:used_vehicle、color、doors、mileage、price等等,总共65个列。 2. 现在,我可以将其分成一个Vehicle表、VehicleInterio...