Обновить индексированный столбец константой - PullRequest
0 голосов
/ 27 июля 2011

У меня есть таблица с первичным ключом и индексированным столбцом.

  • Первоначально с помощью одной операции я делаю вставку на основе первичного ключа.И индексированный столбец имеет уникальное значение.Это хорошо.
  • Вторая операция - поиск строки с этим индексированным столбцом.
  • Третья операция Я обновляю строку на основе первичного ключа, но устанавливаю постоянный индекс столбца.

Является ли обновление третьей операции медленным согласно теории?Я дал индексированный столбец с первичным ключом, это не очень помогает.Может ли кто-нибудь указать мне, почему?

1 Ответ

1 голос
/ 27 июля 2011

Если я вас понимаю, вы спрашиваете, будет ли добавление индекса в столбец, который вы изменяете, ускорить ваше "обновление".Ответ на этот вопрос - нет, на самом деле это на самом деле сделает его медленнее.

Операция обновления может быть ускорена, если вы можете найти строку с помощью индекса быстрее, чем с помощью кластерного индекса, что перевешивает стоимость (возможно,) обновления кластеризованного индекса и дополнительного индекса в таблице.

В вашем случае, когда вы обновляете через первичный ключ, вы не можете действительно оптимизировать это дальше, не используя технику, позволяющую параллельные операции с первичным ключом.index (разбиение таблицы в MS SQL Server).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...