问题标签 [database-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.
sql - Sql Server 2005 - 将分区方案添加到非分区表
我有一个包含超过 5000 万条记录且没有任何分区的表。但现在我想在这个表中添加一个分区方案。该表有一个主键。但我想使用另一个 int 列对其进行分区。我该怎么做?
oracle - PARTITION BY 1 是什么意思?
对于一对游标,在第一次 FETCH 之后立即需要结果集中的总行数,(经过一些试验和错误)我想出了下面的查询
现在,当查询的输出是 X 行时,rows_in_result 准确地反映了这一点。
- PARTITION BY 1 是什么意思?
- 我认为它可能会告诉数据库将结果划分为每个 1 行的片段
mysql - 如何通过从数据库分区演变为分片来进行横向扩展?
假设我有一个 MySQL 表:
一切都很好。该表位于单个服务器 - Server1 上。但最终我可能想扩大规模。因此,我想对表进行分片并将 12 个分区中的 6 个移动到新服务器 - Server2 上。
我想要:
- Server1 包含奇数推文:分区 1、3、5、7、9、11
- Server2 包含偶数推文:分区 2、4、6、8、10、0
1) 将这些分区从 Server1 移动到 Server2 的最佳方法是什么?我需要确保自动增量 tweet_id 的值在迁移过程中保持不变。
2)现在我有两台服务器,如何确保两台服务器生成的自动增量 tweet_id 的值不同?我还需要确保每个分区上的 tweet_id 保持一致,即在分区 k 上,每个 tweet_id 的模 12 等于 k。
3)理想情况下,我想继续这个向外扩展的过程。所以稍后我想添加第三台服务器 - Server3。我想重新平衡分区,以便每台服务器上有 4 个分区。同样,如何确保 3 个服务器生成的自动增量 tweet_id 是不同的,并且 tweet_id 的模 12 在每个分区内保持一致?
mysql - 如何根据 char 列对 MySQL 表进行分区?
是否可以基于 char 列进行分区?
在查看 MySQL 5.1 文档后,似乎只能使用整数类型。
它是否正确?或者我可以使用一些函数将字符转换为整数吗?
有问题的 char 字段包含一个唯一标识符。
postgresql - PostgreSQL+表分区:低效的 max() 和 min()
我有一个存储在 PostgreSQL 表中的巨大分区表。每个子表在其 id 上都有一个索引和一个检查约束,例如(为清楚起见,删除了不相关的细节):
现在,
是即时的,但是:
这是一个主表,points_01 .. points_60
使用检查约束应该花费很少的时间,需要一个多小时,因为查询计划程序不使用检查约束。
根据 PostgreSQL wiki(本页的最后一部分),这是一个已知问题,将在下一个版本中修复。
是否有一个很好的技巧可以使查询计划器利用子表的检查约束和索引进行max()
查询min()
?
谢谢,
亚当
sql-server - 如何判断 *IF* 和 *WHAT* 分区正在被访问 - sql server 2008 db engine
设置
- 并行阈值成本:5
- 最大并行度:4
- 处理器数量:8
- SQL Server 2008 10.0.2.2757
- 我有一个包含许多连接、许多记录的查询。
- 设计是明星。(带有 fks 到参考表的中央表)
- 中央表在相关日期列上进行分区。
- 分区架构按天拆分
- 数据在分区模式中被很好地分割 - 通过比较分配给分区模式的文件组中的文件大小来判断
- 涉及的查询在分区列上设置了谓词。例如( cs.dte >= @min_date 和 cs.dte < @max_date )
- 日期参数的值是隔天 @ 午夜所以,2010-02-01, 2010-02-02
- 估计的查询计划显示没有并行性
a) 这个问题是关于 Sql Server 2008 数据库引擎的。当 OLTP 引擎中的查询正在运行时,我希望看到/获得在使用 Progress End 事件分析 SSAS 查询时获得的那种洞察力——在这种情况下,人们会看到类似“完成读取 PartititionXYZ”的内容。
b) 如果估计的查询计划或实际的查询计划显示没有并行处理,这是否意味着所有分区都将被/被检查/读取?* 我在这里想说的是 - 只是 b/c 我在查询计划中看不到并行性,这并不能保证查询不会触及多个分区 - 对吧?或者 - 并行度和访问的 # 个分区之间是否存在稳固的关系?
c) 建议?我需要提供更多信息吗?
d)我如何判断查询是否正在并行处理而无需查看@实际查询计划?* 如果它有助于确定正在使用的分区,我真的只对此感兴趣。
11 月 10 日添加
试试这个:
- 创建应该命中 1、3 和所有分区的查询
- 打开一个 SSMS 查询窗口,然后运行
SET SHOWPLAN_XML ON
- 在该窗口中一个一个地运行每个查询
- 每次运行都会踢出一大块 XML
- 比较这些 XML 结果(我使用文本比较工具“CompareIt”,但任何类似的工具都可以)
您应该看到执行计划明显不同。在我的“3”和“All”查询中,有一段标记为“ConstantScan”的文本在表中有(分别)3和所有分区的条目,而“1 partition”查询不存在该部分. 我用它来推断是的,SQL 确实按照它所说的去做,也就是说:只读取它认为需要的表中的尽可能多的内容,以便解决查询。
mysql - 我可以在这个表上应用 mysql 分区吗?
我有这张桌子
我如何在其上应用分区,我可以使用的最佳分区类型是什么?
查询是
SELECT id,user_id,message FROM posts WHERE thread_id = %
有一些连接
PS:表是 2.5 GiB
- 对MySQL分区不太了解:(
谢谢你
mysql - 想要将 MySQL Datadir 移动到另一个分区
我想将我所有的 mysql 数据库移动到另一个分区。我已经尝试了巴西的指南,但我没有找到任何有效的方法!
每当我更改 my.cnf 中的“datadir”时,MySQL 就会停止运行!
这里有更多信息:
这是conf文件:
nhibernate - 使用 NHibernate 映射分区数据的方法
我们有一个场景,活动记录存储在一个表中,并且随着时间的推移旧记录被归档。两个表的表结构 - active 和 archive 完全相同。
例如 DomainObject_Current : ID INT : Autoincrement Key Value INT TimeStamp
DomainObject_Archive ID INT 值 INT 时间戳
我们每周将超过 30 天的记录从当前表移至存档表。ID(主键)在两个表中是唯一的。
应用程序应该不知道数据是来自当前表还是存档表。在这种情况下映射 DomainObject 类的最佳方法是什么?
sql - SQL 如何在多个分区上进行选择?
有没有比以下更有效的方法: