问题标签 [table-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 投票
0 回答
433 浏览

postgresql - Odoo 表分区

我正在开发 Odoo,我们的数据库每天都在增长。我想为此做表分区,但我没有表分区过程的经验。首先,我尝试了新数据库。没关系,然后我为 Odoo 表分区处理了一些函数和触发器。我有错误。

以下是 account_move 和 account_move_line 表的插入函数和触发器。

运行这些查询后,我从 UI 创建了新的发票。当我验证发票时,我收到了这样的错误。

缺失错误

发生该错误是因为当我在插入函数中使用RETURN NEW时,插入数据不仅在分区表上,而且在主表上。所以我添加了新的功能和触发器来删除这样的主数据。

在我运行这些查询并从 UI 再次验证之后。但是我遇到了另一个这样的错误。

key (move_id) = (###) 在 account_move 表中不存在

我发现记录在主表和分区表中具有​​相同的 id数据。

例如,当我添加新记录时,它在分区表中插入索引id:11 。现在主表中发生的事情包括 2 条id:11的记录。

当我尝试删除带有 id 的主数据时,它也可能从分区数据中删除。

因此,如果您对此有任何想法,请与我分享。提前致谢。

0 投票
1 回答
30 浏览

mysql - MySQL 分区创建后是否需要特殊查询才能利用?

当谈到 MySQL/MariaDB 分区时,我是一个新手,还没有创建一个,但正在阅读它。我的第一个问题是,如果我根据 dt_created DATETIME 列按年和月对表进行分区,我是否需要更改执行 SQL 查询的方式,以便在执行时开始看到性能提升dt_created 的单日查询?或者,执行标准查询,例如:

工作够好吗?

0 投票
0 回答
130 浏览

ruby - 如何使用 postgres 通过 created_at 和 app_id 在 Rails 中复合创建分区

在项目中将有超过 1 亿用户,我想按范围和列表(复合)对其进行分区,另一方面,当我们的行超过 500 万时,由 rails 创建的分区表(任何应用程序 id 有 500 万用户) )。并且每月自动创建一个分区表。

我将 postgresql 用于这些目的

有什么好的宝石,不像 pgslice 和 pgparty

我尝试了很多宝石,但没有一个对我有用。

这是表的 postgres 代码

这是 postgres 中的代码示例,但所有这些都方便我自动想要它

0 投票
1 回答
509 浏览

postgresql - 如何在 postgres 上的 LIST 分区表中通过 id 获取元素而不扫描所有表的索引?

我在 pg major 11 中有以下场景:

等等。

当我有任何这样的查询时,这非常有效:

但是因为我使用的是 ORM(Rails - 活动记录),所以我没有选择始终在语句中使用 account_id 以及每当我需要执行以下操作时:

PG 扫描所有子表试图找到这个元组,见下面的解释分析:

由于我没有选择更改此通过 id 更新记录的查询的选项,我可以在 postgres 端做些什么吗?任何可能对我有帮助的配置或其他类型的分区,甚至升级到 pg 12/13 的版本?

0 投票
1 回答
291 浏览

sql-server - 具有大量数据的 SQL Server In-Memory 表用例

我有 160+ 百万条记录的 SQL Server 表,这些记录具有来自 UI、批处理作业等的连续 CRUD 操作,基本上来自多个来源

目前我已经在列上对表进行了分区,以便在表上获得更好的性能。

我遇到了 In-Memory 表,该表可用于频繁更新的表,并且如果从多个源发生更新,它不会加锁,而是会保持行版本控制,因此使用这种方法更好地进行并发更新。

那么在这种情况下我有什么选择呢?

分区表创建内存表

正如我所读到的,当表被分区时,SQL 服务器不支持内存表。

在这种情况下,内存表或分区表有什么更好的选择。

0 投票
0 回答
81 浏览

oracle - Oracle:范围-范围间隔分区/子分区

我需要创建一个范围分区表:

IE

一些用于演示目的的插入:

我想通过它实现以下目标:

  1. 年度分区;
  2. 年度内,基于 sys_entry_date 的子分区 2.a. 最近 2 天在 crnt_part 2.b 举行。保留在默认分区中,可能在 prev_part

感谢有人可以在这种特定情况下提供帮助。

0 投票
0 回答
110 浏览

sql - 在序列编号和动态分区表中递增 1

我正在使用动态创建的表分区将事件信息存储在 Postgresql 13 数据库中。子表从中继承其结构的主表包含一个具有自动递增序列的 id 字段。插入的序列、主表和触发器如下所示:

此外,event_insert_function()使用以下代码插入发布到主表的新行:

在查看 id 字段中的序列号时,我只得到每隔一个数字,即 1,3,5,7,...

根据我发现的一些相关信息,我认为这与 Postgresql 将初始插入主表和触发插入子表作为两次出现计数有关。所以我的第一个问题是,这是否正确,如果正确,其背后的原因是什么?为什么不“通过”插入从主人到孩子?

更重要的是,我需要做些什么来设置正确的递增序列(即返回 1,2,3,4 ...)?

0 投票
1 回答
499 浏览

sql-server - 如何更改现有分区的 FILEGROUP (SQL Server)

我有一张非常大的桌子,我按月分区。我还为每一年创建了文件组,因此每个文件组在那一年最多可以容纳 12 个分区。这是分区函数:

问题是,我的最后一个分区不是在 FG_2021 中,而是在 PRIMARY 文件组中。

立即分发数据

如何将该分区的文件组更改为 FG_2021?

我当前的分区方案最终看起来像这样:

0 投票
1 回答
55 浏览

postgresql - Postgresql:为 SELECT 中的值分区表

我想在具有 UUID 值的列上使用 PostgreSQL 的声明性表分区。我希望它按 SELECT 返回的值进行分区。

我不想在 中使用特定FOR VALUES IN ('uuid')的 UUID,因为 UUID 可能因环境(dev、qa、prod)而异。但是,SELECTPostgres 似乎不接受该语法。有什么建议么?

0 投票
1 回答
798 浏览

oracle - 如何将索引移动到另一个表空间

如何将索引移动到另一个表空间

在此处输入图像描述

ORA-14086: 分区索引不能作为一个整体重建。

在此处输入图像描述

我无法执行这个语句,因为我不知道索引在哪个分区