问题标签 [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.

0 投票
2 回答
779 浏览

mysql - MySQL中的“Partition”关键字有什么用?

因为我是 MySQL 新手。PARTITION这个 MySQL 语句是什么意思?

0 投票
2 回答
356 浏览

mysql - mysql分区

只是想验证一下,数据库分区是只在数据库层面实现的,当我们查询一个分区表的时候,我们还是做正常的查询,我们的查询没什么特别的,解析查询的时候自动进行优化,对吗?

例如,我们有一个名为“address”的表,其中包含一个名为“country_code”和“city”的列。所以如果我想获得美国纽约的所有地址,通常我会做这样的事情:

如果现在该表按“country_code”分区,并且我知道现在查询将仅在包含 country_code = US 的分区上执行。我的问题是我需要在我的 sql 语句中明确指定要查询的分区吗?还是我仍然使用前面的语句,数据库服务器会自动优化它?

提前致谢!

0 投票
1 回答
1453 浏览

database-design - 数据库设计 - 何时将数据拆分为多个表?

我有一张动物表:

动物
ID 名称
1 狗
2 猫
3 兔子

每只动物都有一个投资组合,因此我有两种定义数据库表的方法。

方法一:

投资组合
ID AnimalId 日期
1 1 01/01/2001
2 2 20/03/2009
3 3 05/03/2009
4 1 01/04/2005

方法二:

DogPortfolio
Id 日期
1 01/01/2001
2 01/04/2005

CatPortfolio
ID 日期
1 20/03/2009

RabbitPortfolio
ID 日期
1 05/03/2009

哪种方法更可取?请记住,这是一个人为的示例,实际上我将为每个投资组合存储约 10k 行数据。

0 投票
1 回答
202 浏览

mysql - 如何查找每组数据的最新行

我有一个棘手的问题,我正试图找到最有效的方法来解决。

这是我的视图结构的简化版本。


表:审计

我需要 3 个查询。我需要一个来获取所有数据。接下来只获取历史数据(即除AuditEndDate最新数据项之外的所有数据),然后最后一个查询是获取最新数据项(通过AuditEndDate)。

我有一个日期限制(这是基于每个用户/组),其中某些用户组只能在某些日期之间看到,这增加了一层复杂性。您会在 where 子句中注意到这一点,即 AuditEndDate<=blah 和 AuditStartDate>=blah

Foreach 发布,选择所有可用的数据。

Foreach 发布,选择所有数据,但排除可用的最新数据(按 AuditEndDate)

Foreach 发布,仅选择可用的最新数据(按 AuditEndDate)

所以目前,查询 1 和 3 工作正常,但查询 2 只返回所有数据而不是限制。

谁能帮我?

谢谢

杰森

0 投票
2 回答
198 浏览

sql - 表分区

与普通方法相比,使用表分区有多大优势?

是否有某种样本案例或详细的比较分析可以在统计上强调该过程的实用性(我知道这个词太强了,但如果用一些数字来说明它真的会有所帮助)。

0 投票
5 回答
194 浏览

sql - SQL Server:一个让我烦恼的分组问题

十年的大部分时间里,我一直在使用 SQL Server,而这种分组(或分区,或排名......我不确定答案是什么!)让我难过。感觉它也应该是一件容易的事。我将概括我的问题:

假设我有 3 名员工(不用担心他们辞职或其他任何事情......总是有 3 名),我会按月分配他们的薪水。

如您所见,我在第 1 个月和第 3 个月支付了相同的百分比,但在第 2 个月,我给了 Alice 相同的 25%,但 Barbara 得到了 50%,而 Claire 得到了 25%。

我想知道的是我曾经给出的所有不同的分布。在这种情况下,将有两个——一个用于第 1 个月和第 3 个月,一个用于第 2 个月。

我希望结果看起来像这样(注意:ID,或定序器,或任何东西,无关紧要)

看起来很容易,对吧?我难住了!任何人都有一个优雅的解决方案?我只是在写这个问题时把这个解决方案放在一起,这似乎有效,但我想知道是否有更好的方法。或者也许是一种不同的方式,我可以从中学到一些东西。

谢谢大家!-瑞奇

0 投票
5 回答
151213 浏览

sql - MAX() and MAX() OVER PARTITION BY produces error 3504 in Teradata Query

I am trying to produce a results table with the last completed course date for each course code, as well as the last completed course code overall for each employee. Below is my query:

This query produces the following error:

If I remove the MAX() OVER (PARTITION BY...) line, the query executes just fine, so I've isolated the problem to that line, but after searching these forums and the internet I can't see what I'm doing wrong. Can anyone help?

0 投票
2 回答
84 浏览

sql-server - SQL Server 表分区

我只知道 SQL Server 的基础知识,如创建表、过程等。我想了解 SQL Server 中的表分区。我想得到一个非常简单易懂的教程。我想知道表分区,索引分区....

请帮忙。

0 投票
1 回答
7260 浏览

oracle - 如何在适用于 Windows 的 Oracle 10g 企业版中启用分区?

我在 Windows XP 上安装了 Oracle 10g 企业版。似乎分区是作为默认安装的一部分安装的,但是未启用分区功能。我可以找到在 Unix/Linux 上启用分区的说明,但在 Windows 上找不到。有没有人在他们的本地机器上成功启用 10g EE 中的分区?

谢谢蒂姆

0 投票
1 回答
3469 浏览

sql-server - 在分区表上选择查询

我已经对表进行了分区,并且已根据帐户 ID 对其进行了分区。即 accountid = 1 的行也将在 A 分区中,而 accountid = 2 的所有行都将在 B 分区中。所以现在如果我使用 where condition accountid =1 执行查询,sql server 将只在 A 分区中搜索。

假设如果我向其中添加另一个条件,即 where accountid=1 和 place="aaa" 此查询将仅搜索 A 分区还是整个表?请帮忙。