Быстрее ли обновляется неиндексированный столбец, если предложение where индексируется в SQL? - PullRequest
0 голосов
/ 25 августа 2018

Обычно я пытаюсь обновить таблицу в SQL, и мне было интересно, смогу ли я увеличить скорость, добавив индексы к столбцам в моем предложении where.

Например:

Update mytable 
Set code1 = 1   
Where Account > 115 and Account < 350

Если я добавлю индекс в столбец Account, увеличит или уменьшит мою скорость?

1 Ответ

0 голосов
/ 25 августа 2018

Это ваш запрос:

Update mytable
    Set code1 = 1   
    Where Account > 115 and Account < 350;

В большинстве случаев индекс на mytable(Account) ускорит выполнение этого запроса.Индекс позволит ядру базы данных быстро находить строки, соответствующие запросу, а затем обновлять только эти строки.

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

...