Sql server sqlazure。创建索引建议和性能
我在Azure SQL S3层上得到了几个创建索引建议 在讨论之前,我想知道在索引1000万条记录时的一些问题Sql server sqlazure。创建索引建议和性能,sql-server,azure,indexing,azure-sql-database,Sql Server,Azure,Indexing,Azure Sql Database,我在Azure SQL S3层上得到了几个创建索引建议 在讨论之前,我想知道在索引1000万条记录时的一些问题 我们能大致知道索引的进度或完成时间吗 索引是否以异步(或者我们可以说是惰性索引)的方式工作?还是它阻止了对表/数据库的查询 关于索引期间的性能下降,我们需要了解什么吗?如果是这样的话,我们能预期退化的程度吗 它的性能是否与我的创建索引命令不同 如果数据库是只读的georedundant配置的,我假设索引配置本身也是复制的。但索引工作是分开进行的吗 如果索引是在他们自己的(复制的)数据库
创建索引
命令不同sys.dm_exec_requests
此外,对于SQL2016(azure兼容级别130),还有一个..可以比exec请求更好地跟踪准确的状态
索引是否以异步(或者我们可以说是惰性索引)的方式工作?还是它阻止了对表/数据库的查询
创建索引有两种方法
1.在线
2.离线
在线创建索引时,表不会被阻止*,因为SQL维护索引的一个单独副本,并并行更新两个索引
使用脱机方法时,您将遇到阻塞,表也将不可用
关于索引期间的性能下降,我们需要了解什么吗?如果是这样的话,我们能预期退化的程度吗
您将经历额外的IO负载、内存增加……这无法准确估计
它的执行方式是否与我的创建索引命令不同?
CREATEINDEX是一个单独的语句,我不知道你在这里的意思
如果数据库是只读的georedundant配置的,我假设索引配置本身也是复制的。但索引工作是分开进行的吗
如果索引是在他们自己的(复制的)数据库上执行的,那么从主层(S3层)到副本(S1)的索引进程可能会不同。对吗
索引创建被记录下来,所有的TLOG也会在辅助服务器上重播。所以..谢谢。关于我的第4个问题,我想知道(1)单击Azure portal中的“创建索引”按钮和(2)在我的SMS中运行sql命令之间可能存在的区别。您是否询问Azure索引建议创建选项。如果是,我建议不要遵循所有建议,这些建议对查询运行有效,它不会考虑您的数据加载场景以及您可以运行此类查询的次数。@Youngjae:两者的差异都是相同的,不过我建议您从ssms运行,原因是上面提到的监控银行以获取您的建议:)