问题标签 [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.
postgresql - Odoo 表分区
我正在开发 Odoo,我们的数据库每天都在增长。我想为此做表分区,但我没有表分区过程的经验。首先,我尝试了新数据库。没关系,然后我为 Odoo 表分区处理了一些函数和触发器。我有错误。
以下是 account_move 和 account_move_line 表的插入函数和触发器。
运行这些查询后,我从 UI 创建了新的发票。当我验证发票时,我收到了这样的错误。
发生该错误是因为当我在插入函数中使用RETURN NEW时,插入数据不仅在分区表上,而且在主表上。所以我添加了新的功能和触发器来删除这样的主数据。
在我运行这些查询并从 UI 再次验证之后。但是我遇到了另一个这样的错误。
我发现记录在主表和分区表中具有相同的 id数据。
例如,当我添加新记录时,它在分区表中插入索引id:11 。现在主表中发生的事情包括 2 条id:11的记录。
当我尝试删除带有 id 的主数据时,它也可能从分区数据中删除。
因此,如果您对此有任何想法,请与我分享。提前致谢。
mysql - MySQL 分区创建后是否需要特殊查询才能利用?
当谈到 MySQL/MariaDB 分区时,我是一个新手,还没有创建一个,但正在阅读它。我的第一个问题是,如果我根据 dt_created DATETIME 列按年和月对表进行分区,我是否需要更改执行 SQL 查询的方式,以便在执行时开始看到性能提升dt_created 的单日查询?或者,执行标准查询,例如:
工作够好吗?
ruby - 如何使用 postgres 通过 created_at 和 app_id 在 Rails 中复合创建分区
在项目中将有超过 1 亿用户,我想按范围和列表(复合)对其进行分区,另一方面,当我们的行超过 500 万时,由 rails 创建的分区表(任何应用程序 id 有 500 万用户) )。并且每月自动创建一个分区表。
我将 postgresql 用于这些目的
有什么好的宝石,不像 pgslice 和 pgparty
我尝试了很多宝石,但没有一个对我有用。
这是表的 postgres 代码
这是 postgres 中的代码示例,但所有这些都方便我自动想要它
postgresql - 如何在 postgres 上的 LIST 分区表中通过 id 获取元素而不扫描所有表的索引?
我在 pg major 11 中有以下场景:
等等。
当我有任何这样的查询时,这非常有效:
但是因为我使用的是 ORM(Rails - 活动记录),所以我没有选择始终在语句中使用 account_id 以及每当我需要执行以下操作时:
PG 扫描所有子表试图找到这个元组,见下面的解释分析:
由于我没有选择更改此通过 id 更新记录的查询的选项,我可以在 postgres 端做些什么吗?任何可能对我有帮助的配置或其他类型的分区,甚至升级到 pg 12/13 的版本?
sql-server - 具有大量数据的 SQL Server In-Memory 表用例
我有 160+ 百万条记录的 SQL Server 表,这些记录具有来自 UI、批处理作业等的连续 CRUD 操作,基本上来自多个来源
目前我已经在列上对表进行了分区,以便在表上获得更好的性能。
我遇到了 In-Memory 表,该表可用于频繁更新的表,并且如果从多个源发生更新,它不会加锁,而是会保持行版本控制,因此使用这种方法更好地进行并发更新。
那么在这种情况下我有什么选择呢?
分区表或创建内存表
正如我所读到的,当表被分区时,SQL 服务器不支持内存表。
在这种情况下,内存表或分区表有什么更好的选择。
oracle - Oracle:范围-范围间隔分区/子分区
我需要创建一个范围分区表:
IE
一些用于演示目的的插入:
我想通过它实现以下目标:
- 年度分区;
- 年度内,基于 sys_entry_date 的子分区 2.a. 最近 2 天在 crnt_part 2.b 举行。保留在默认分区中,可能在 prev_part
感谢有人可以在这种特定情况下提供帮助。
sql - 在序列编号和动态分区表中递增 1
我正在使用动态创建的表分区将事件信息存储在 Postgresql 13 数据库中。子表从中继承其结构的主表包含一个具有自动递增序列的 id 字段。插入的序列、主表和触发器如下所示:
此外,event_insert_function()
使用以下代码插入发布到主表的新行:
在查看 id 字段中的序列号时,我只得到每隔一个数字,即 1,3,5,7,...
根据我发现的一些相关信息,我认为这与 Postgresql 将初始插入主表和触发插入子表作为两次出现计数有关。所以我的第一个问题是,这是否正确,如果正确,其背后的原因是什么?为什么不“通过”插入从主人到孩子?
更重要的是,我需要做些什么来设置正确的递增序列(即返回 1,2,3,4 ...)?
sql-server - 如何更改现有分区的 FILEGROUP (SQL Server)
我有一张非常大的桌子,我按月分区。我还为每一年创建了文件组,因此每个文件组在那一年最多可以容纳 12 个分区。这是分区函数:
问题是,我的最后一个分区不是在 FG_2021 中,而是在 PRIMARY 文件组中。
如何将该分区的文件组更改为 FG_2021?
我当前的分区方案最终看起来像这样:
postgresql - Postgresql:为 SELECT 中的值分区表
我想在具有 UUID 值的列上使用 PostgreSQL 的声明性表分区。我希望它按 SELECT 返回的值进行分区。
我不想在 中使用特定FOR VALUES IN ('uuid')
的 UUID,因为 UUID 可能因环境(dev、qa、prod)而异。但是,SELECT
Postgres 似乎不接受该语法。有什么建议么?