Я использую базу данных Azure SQL. Если у меня 150K записей в таблице Building
. Residental
колонка типа bit
. Половина записей имеет Residental = 1
. Какой из этих двух запросов лучше с точки зрения производительности в моем случае?Производительность запроса SQL UPDATE
UPDATE p.Building
SET Residental = 1
WHERE References > 100
UPDATE p.Building
SET Residental = 1
WHERE References > 100
AND Residental <> 1
UPDATE:
Это результаты профилировщика. Сначала лучше догадаться? А что, если все записи имеют Residental = 1
или 0
? Это влияет на результат профилирования? Я попытался выполнить тесты, но результаты профилирования почти одинаковы.
Я удалил несовместимые теги базы данных. Пожалуйста, пометьте вопрос в базе данных, которую вы фактически используете. –
Я бы предположил, что второй будет быстрее.Будет меньше обновлений, и если Residental будет проиндексирован, будет меньше читаемых –
Это что-то, что произойдет часто или только один раз? – n8wrl