Azure SQL 数据库分区
Azure SQL Database Partitioning
我目前有一个 Azure SQL 数据库(标准 100 DTUs S3),我想在一个大 table 上创建分区,将 datetime2 值拆分为 YYYYMM。每个 table 至少有以下列:
- Guid(唯一标识符类型)
- MsgTimestamp(datetime2 类型)<< 使用此分区。
我一直在查看 Azure 文档和 SO,但找不到任何内容清楚说明如何以所需格式在 'datetime2' 上创建分区,即使它在 [=50] 上受支持=] 数据库类型。
另一个示例,如果尝试下面的 link,但我找不到在 SQL Studio 中创建分区的选项以在“存储”菜单上创建分区。
https://www.sqlshack.com/database-table-partitioning-sql-server/
此外,这些 table 是否必须在时钟超过上午 12 点时每天创建,还是自动完成?
更新
我怀疑我可能必须使用下面的第一个 link 手动创建分区,然后在每个月的月初,使用第二个 link 创建下个月的分区 table提前。
上下文
我目前连接到一个实时提要,该提要每分钟可提供多达 600 行,3 年的数据积压量约为 3.7 亿。
正确。
您可以根据 datetime2 列创建分区。通常,您只需在月初日期执行此操作,然后使用 RANGE RIGHT(这样月初就包含在分区中)。
是的,在每个月底,正常的操作是:
- 拆分分区功能以添加新的分区选项。
- 将最旧的每月分区切换到一个单独的 table 以用于存档目的(假设您希望有几个月的滚动期)
另一个是的,我们都希望产品有自动为您执行此操作的选项。
我是 Ron Talmage 撰写的以下白皮书的技术审阅者之一,早在 2008 年,其中 99% 的建议仍然是最新的:
https://docs.microsoft.com/en-us/previous-versions/sql/sql-server-2008/dd578580(v=sql.100)
我目前有一个 Azure SQL 数据库(标准 100 DTUs S3),我想在一个大 table 上创建分区,将 datetime2 值拆分为 YYYYMM。每个 table 至少有以下列:
- Guid(唯一标识符类型)
- MsgTimestamp(datetime2 类型)<< 使用此分区。
我一直在查看 Azure 文档和 SO,但找不到任何内容清楚说明如何以所需格式在 'datetime2' 上创建分区,即使它在 [=50] 上受支持=] 数据库类型。
另一个示例,如果尝试下面的 link,但我找不到在 SQL Studio 中创建分区的选项以在“存储”菜单上创建分区。
https://www.sqlshack.com/database-table-partitioning-sql-server/
此外,这些 table 是否必须在时钟超过上午 12 点时每天创建,还是自动完成?
更新
我怀疑我可能必须使用下面的第一个 link 手动创建分区,然后在每个月的月初,使用第二个 link 创建下个月的分区 table提前。
上下文
我目前连接到一个实时提要,该提要每分钟可提供多达 600 行,3 年的数据积压量约为 3.7 亿。
正确。
您可以根据 datetime2 列创建分区。通常,您只需在月初日期执行此操作,然后使用 RANGE RIGHT(这样月初就包含在分区中)。
是的,在每个月底,正常的操作是:
- 拆分分区功能以添加新的分区选项。
- 将最旧的每月分区切换到一个单独的 table 以用于存档目的(假设您希望有几个月的滚动期)
另一个是的,我们都希望产品有自动为您执行此操作的选项。
我是 Ron Talmage 撰写的以下白皮书的技术审阅者之一,早在 2008 年,其中 99% 的建议仍然是最新的: https://docs.microsoft.com/en-us/previous-versions/sql/sql-server-2008/dd578580(v=sql.100)