繁体   English   中英

Azure SQL 数据库分区

[英]Azure SQL Database Partitioning

我目前有一个 Azure SQL 数据库(标准 100 DTU S3),我想在一个大表上创建分区,将 datetime2 值拆分为 YYYYMM。 每个表至少有以下列:

  • Guid(唯一标识符类型)
  • MsgTimestamp (datetime2 type) << 分区使用这个。

我一直在查看 Azure 文档和 SO,但找不到任何清楚说明如何以所需格式在“datetime2”上创建分区的内容,或者即使 SQL 数据库类型支持该分区。

另一个示例,如果尝试下面的链接,但我没有找到在 SQL Studio 中创建分区以在存储菜单上创建分区的选项。

https://www.sqlshack.com/database-table-partitioning-sql-server/

此外,这些表是否必须每天在时钟超过 12 点时创建,还是自动完成?

更新

我怀疑我可能必须使用下面的第一个链接手动创建分区,然后在每个月初,使用第二个链接提前创建下个月的分区表。

https://docs.microsoft.com/en-us/sql/t-sql/statements/create-partition-function-transact-sql?view=sql-server-ver15

https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-partition-function-transact-sql?view=sql-server-ver15

语境

我目前连接到一个实时提要,该提要每分钟提供多达 600 行,并且积压了大约 3.7 亿条 3 年的数据。

正确的。

您可以根据 datetime2 列创建分区。 通常,您只需在月初执行此操作,然后使用 RANGE RIGHT (以便将月初包含在分区中)。

是的,在每个月底,正常的行动是:

  • 拆分分区 function 以添加新的分区选项。
  • 出于归档目的,将最旧的每月分区切换到单独的表中(假设您希望有几个月的滚动期)

另一个是的,我们都希望该产品可以自动为您执行此操作。

早在 2008 年,我是 Ron Talmage 的以下白皮书的技术评论员之一,其中 99% 的建议仍然是最新的: https://docs.microsoft.com/en-us/previous-versions/sql/ sql-server-2008/dd578580(v=sql.100)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM