问题标签 [partitioning]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1979 浏览

sql - SQL Server 2008 中的 ALTER TABLE SWITCH 分区失败

我有一个临时表 (stage_enrolments) 和一个生产表 (enrolments)。暂存表没有分区,生产表是。我正在尝试使用 ALTER TABLE SWITCH 语句将临时表中的记录传输到生产环境。

ALTER TABLE dbo.stage_enrolments 切换到 dbo.enrolments PARTITION @partition_num;

但是,当我执行此语句时,出现以下错误:

ALTER TABLE SWITCH 语句失败。目标表“Academic.dbo.enrolments”被 1 个索引视图引用,但源表“Academic.dbo.stage_enrolments”仅被 0 个匹配的索引视图引用

我在 dbo.stage_enrolments 上定义的索引视图与在 dbo.enrolments 上定义的索引视图相同——尽管注册视图是分区的。我尝试重新创建视图及其索引,检查所有选项是否相同,但我得到相同的结果。如果我从 dbo.enrolments 视图中删除索引,那么它工作正常。

我让它在另一组具有索引视图的表上工作,所以我不确定为什么它不适用于这些。有谁知道为什么会发生这种情况?我还应该检查什么?

0 投票
2 回答
5820 浏览

sql-server - SQL Server 分区是否会在不更改文件组的情况下提高性能

场景我有一个 1000 万行的表。我将它划分为 10 个分区,这导致每个分区有 100 万行,但我不做任何其他事情(比如将分区移动到不同的文件组或主轴)

我会看到性能提升吗?这实际上就像创建 10 个较小的表一样吗?如果我有执行键查找或扫描的查询,性能是否会提高,就好像它们对更小的表进行操作一样?

我试图了解分区与仅仅拥有一个索引良好的表有何不同,以及它可用于提高性能的地方。

更好的方案是将旧数据(使用分区切换)从主表移到只读存档表吗?

拥有一个具有 100 万行分区和 900 万行分区的表是否类似于(性能方面)将 900 万行移动到另一个表并在原始表中只留下 100 万行?

0 投票
2 回答
7737 浏览

java - 使用 Hibernate 进行分区

我们要求每天从数据库中删除 200K 范围内的数据。我们的应用程序是基于 Java/Java EE 的,使用 Oracle DB 和 Hibernate ORM 工具。

我们探索了各种选择,例如

  1. 休眠批处理
  2. 存储过程
  3. 数据库分区

我们的 DBA 建议数据库分区是最好的方法,因此我们可以每天轻松地重新创建和删除分区表。现在的问题是我们有两种数据,一种我们想每天删除,另一种我们想保留它。假设此数据存储在“Trade”表中。现在有了分区,我们有 2 个表“Trade”。我们已经存在基于 Hibernate 的 DAO 层来从/向 DB 获取/存储交易。当我们决定对数据库进行分区时,如何通过hibernate来控制交易进入两张表中的哪一张。基本上我想要,交易需要在一天结束时删除,进入分区表和我想保留的交易,在主表中。请建议如何使用 Hibernate 实现这一点。

如果有人能提出更好的方法以防我们走错路,我将不胜感激。

0 投票
1 回答
53 浏览

performance - 在多个服务器之间对代码中的请求进行分区

我有几个论坛服务器(它们是什么无关紧要),它们存储来自用户的帖子,我希望能够在这些服务器之间划分请求。我目前倾向于按地理位置对它们进行分区。为了提高数据的局部性,将用户划分为北美、南美等区域。

是否有任何设计模式来实现将分区属性映射到服务器的功能,使这段代码具有高可用性并且不会成为单点故障?

0 投票
1 回答
2108 浏览

sql-server-2008 - SQL Server 2008:在一个特定的表分区上禁用索引

我正在使用 SQL Server 2008 中的一个大表(约 100.000.000 行)。我经常需要在该表中添加和删除约 30.000.000 行的批次。目前,在将大批量加载到表中之前,我禁用索引,插入数据,然后重建索引。我测量这是最快的方法。

从最近开始,我正在考虑在这个表上实现表分区以提高速度。我将根据我的批次对表进行分区。

我的问题是,是否可以禁用一个特定分区的索引,并在再次启用之前将数据加载到该分区中?在这种情况下,我的表的其余部分将不必遭受完整的索引重建,并且我的加载可以更快?

0 投票
2 回答
460 浏览

postgresql - postgresql 中面向未来的主键设计

我过去一直使用 auto_generated 或 Sequences 作为主键。使用我正在开发的当前系统,有可能最终必须对过去从未要求过的数据进行分区。知道我将来可能需要对数据进行分区,使用 UUID 进行 PK 而不是数据库的内置序列有什么好处?如果是这样,是否有一种设计模式可以安全地生成相对较短的键(比如 6 个字符而不是通常的长键 e6709870-5cbc-11df-a08a-0800200c9a66)?每个表 36^6 个键对于我能想象到的任何表来说都绰绰有余。

我将在 URL 中使用键,因此简洁很重要。

0 投票
2 回答
933 浏览

mysql - 如何使用 MySQL 分区执行此操作

我有一张有数百万行的表,我想创建一些分区,但我真的不知道该怎么做。我的意思是我希望以 ID 1 -> 10000 开头的数据位于第一分区,而以 ID 10001 -> 20000 开头的数据位于第二分区;等等...?你能给我举个例子吗?

我在互联网上搜索了很多,我阅读了很多文档,但我仍然不明白它需要如何完成!

此致,

0 投票
2 回答
19529 浏览

sql-server - 撤消表分区

我有一个表'X'并做了以下

  1. 创建分区函数 PF1(INT) 作为值的左侧范围 (1, 2, 3, 4)
  2. 将分区方案 PS1 创建为分区 PF1 全部到 ([PRIMARY])
  3. 在 PS1(col1) 上的 X(col1) 上创建集群索引 CIDX_X

这 3 个步骤为我拥有的数据创建了 4 个逻辑分区。

我的问题是,如何将此分区恢复为原始状态?

0 投票
1 回答
93 浏览

c++ - 物理库是否有我可以用于几何剔除的东西?

我总是听到碰撞检测和不同空间划分技术之间的关系。是否有任何物理库包含常见的数据结构,比如截锥体类或任何可以更容易实现八叉树、四叉树等的东西?

0 投票
2 回答
1636 浏览

partitioning - 查找具有 k 大小子集的 n 个元素的所有可能分区,其中两个元素仅共享同一集合一次

我有 n 个元素需要分成 x 个集合,每个集合必须恰好包含 k=4 个元素。

我需要找到所有可能的分区,其约束条件是每对元素只共享一次相同的集合。

因此,如果我从 [1 2 3 4] [5 6 7 8] [...] 开始,则所有连续的分区都不能容纳例如 [1 2 XX] 或 [XX 1 3]。集合是无序的。

接近这个问题的是第二类斯特林数。但是,它们只解决了任意大小的集合的问题。

示例:我有 32 只老鼠,可以放在 8 个笼子里,每个笼子 4 只。老鼠应该在笼子之间旋转,这样它们就不会遇到另一只老鼠两次。您多久可以这样做一次,配置是什么?