gpt4 book ai didi

azure-sql-database - 创建新索引时防止 DTU 耗尽

转载 作者:行者123 更新时间:2023-12-04 10:47:38 31 4
gpt4 key购买 nike

我们将 Azure SQL 用作单个数据库并在 DTU 定价模型下使用。我们有一个包含约 50M 条记录的表,我们想在单个字符串属性上添加一个新的非聚集索引。

问题是这是一个生产数据库。如果我使用简单的 TSQL 语法

CREATE NONCLUSTERED INDEX [IndexName]
ON [dbo].[TableName]([FieldName] ASC);
GO

索引创建会将 DTU 固定为 100% 数分钟,这实质上会使我们的应用程序代码中的任何查询都处于饥饿状态。

Azure SQL 中是否有一种方法可以指示 SQL Server“嘿,此索引操作仅使用 X DTU”?

最佳答案

您可以使用选项 MAXDOP限制使用的处理器数量。

ALTER INDEX test_idx on test_table REBUILD WITH (ONLINE=ON, MAXDOP=1, RESUMABLE=ON) ;

您可以考虑使用 Resumable Online Index Rebuild 功能,以便您可以安排 X 次执行这些索引的一分钟。
ALTER INDEX [ix_CustomerIDs]
ON [ContosoSales].[ConstosoTransactionData]
REBUILD
WITH (ONLINE = ON, RESUMABLE = ON, MAX_DURATION = 1 MINUTES);
GO

ALTER INDEX ix_CustomerIDs ON [ContosoSales].[ConstosoTransactionData] PAUSE

ALTER INDEX ix_CustomerIDs ON [ContosoSales].[ConstosoTransactionData] RESUME

关于azure-sql-database - 创建新索引时防止 DTU 耗尽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59630529/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com