首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL Azure创建索引推荐和性能

SQL Azure创建索引推荐和性能
EN

Stack Overflow用户
提问于 2017-01-19 04:49:08
回答 1查看 1.1K关注 0票数 1

我在Azure SQL S3层上得到了几个创建索引建议。

在开始之前,我想知道一些问题,在索引期间有1000万条记录。

  1. 我们可以大约知道索引的进度或完成时间吗?
  2. 索引是否以异步(或者我们可以说是惰性索引)的方式工作?还是阻止对表/数据库的查询?
  3. 关于索引期间的性能下降,我们需要知道什么吗?如果是这样的话,我们是否可以预期会有一定程度的退化?
  4. 它的性能是否与我的CREAT INDEX命令不同?
  5. 如果数据库配置为只读georedundant,那么我假设索引配置本身也会被复制。但是索引工作是分开操作的吗?
  6. 如果索引是在它们自己的(复制的)数据库上执行的,则从S3层到S1层可能有不同的索引过程。是对的吗?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-19 10:14:24

我们可以大约知道索引的进度或完成时间吗?

您可以使用了解空间的大小,但不能使用索引创建time.You可以通过使用sys.dm_exec_requests跟踪进度。

此外,与SQL2016(天蓝色致密等级130)有一个配置文件..which可以更好地跟踪准确的状态比exec requests DMV。

索引是否以异步(或者我们可以说是惰性索引)的方式工作?还是阻止对表/数据库的查询?

有两种创建索引的方法

1.Online

2.Offline

当您在线创建索引时,您的表将不会被阻塞*,因为SQL维护一个单独的索引副本,并并行地更新两个索引。

使用脱机方法,您将体验阻塞,而表也将不可用

关于索引期间的性能下降,我们需要知道什么吗?如果是这样的话,我们是否可以预期会有一定程度的退化?

您将经历额外的IO负载,无法准确估计memory..This的增加。

它的执行是否与我的CREATE命令不同?Create完全是一个单独的语句,我不知道您在这里的意思是什么 如果数据库配置为只读georedundant,那么我假设索引配置本身也会被复制。但是索引工作是分开操作的吗?

如果索引是在它们自己的(复制的)数据库上执行的,则从S3层到S1层可能有不同的索引过程。是对的吗?

索引创建被记录下来,所有的TLOG都以well.so 没有必要在第二代上进行索引重新构建。的形式在备用上重放。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41733955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档