2017-01-19 7 views
1

У меня есть несколько Рекомендации CREATE INDEX на уровне Azure SQL S3.SQL Azure. Создать рекомендацию и эффективность индекса

Перед тем, как пройти, я хотел бы знать некоторые проблемы при индексировании с 10 миллионами записей.

  1. Можем ли мы знать, что прогресс в индексировании или время завершения примерно?
  2. Работает ли индексирование в асинхронном (или мы можем сказать, ленивый индекс)? Или он блокирует запрос к таблице/базе данных?
  3. Есть ли что-нибудь, что нам нужно знать о ухудшении производительности во время индексации? Если да, можем ли мы ожидать снижения уровня деградации?
  4. Выполняется ли это иначе, чем моя команда CREAT INDEX?
  5. Если база данных сконфигурирована только для чтения, то я предполагаю, что сама конфигурация индекса также реплицируется. Но работа по индексированию работает отдельно?
  6. Если индексирование выполняется в собственной (реплицированной) базе данных, то мастер уровня (уровень S3) для реплики (S1) может иметь разный прогресс индексации. это правильно?

ответ

0

Можем ли мы знать, что прогресс в индексировании или время завершения примерно?

Вы можете get to know amount of space, который будет использоваться, но не создание индекса time.You может отслеживать прогресс, хотя и с использованием sys.dm_exec_requests

также с SQL2016 (лазурного уровне 130 compatabilty) имеется new DMV called Sys.dm_exec_query_profiles ..which может отслеживать точный статус лучше, чем exec requests DMV ..

Работает ли индексирование в асинхронном (или мы можем сказать, ленивый индекс)? Или он блокирует запрос к таблице/базе данных?

Есть два способа создания индекса
1.Online
2.Offline

При создании индекса в оперативном режиме, ваша таблица не будет заблокирована *, так как SQL поддерживает отдельную копию индекса и обновляет оба индекса паралельно

с автономным подходом, вы будете испытывать блокирование и таблицы также не будут доступны

Есть ли что-то, что нам нужно знать о ухудшении производительности во время индексирования? Если да, можем ли мы ожидать снижения уровня деградации?

Вы испытаете дополнительную нагрузку ввода-вывода, увеличив ее в памяти. Это невозможно точно оценить.

Выполняется ли это иначе, чем моя команда CREATE INDEX? Create Index - это отдельное заявление, я не уверен, что вы имели в виду здесь

Если база данных настроена на чтение, то я предполагаю, что сама конфигурация индекса также реплицируется.Но работа по индексированию работает отдельно?

Если индексирование выполняется в собственной (реплицированной) базе данных, то мастер уровня (уровень S3) для реплики (S1) может иметь разный прогресс индексации. это правильно?

создания индекса заносится в журнал и все TLOG воспроизводится на вторичном, как well.so there is no need to do index rebuilds on secondary ..

+0

Спасибо. О моем вопросе № 4 я хотел бы узнать возможную разницу между (1), нажав кнопку «Создать индекс» на портале Azure и (2), выполнив команду sql в моем SMSS. – Youngjae

+0

вы спрашиваете о рекомендациях по индексу azure index create option .. так что я бы рекомендовал не следовать всем рекомендациям, они действительны для запуска запроса, он не учитывает ваши сценарии загрузки данных и сколько раз вы можете запускать этот тип запросов .. – TheGameiswar

+0

@Youngjae: приходят к различиям, оба одинаковы, хотя я бы рекомендовал работать от ssms для вышеуказанных причин мониторинга – TheGameiswar