Мои ограниченные знания SQL побудили этот пост!Производительность обновления SQL (Server)
У меня есть хранимая процедура, которая запускает серию обновлений.
Существует 6 операторов обновлений, которые вполне могут быть помещены в один большой оператор обновления, но я не знаю, что это будет означать для производительности.
Основы для использования в столице: 6 столов. 3 из которых никогда не будут содержать более 5000 записей, 3 из которых растут бесконечно (в настоящее время около 1-2 миллионов записей, правильно проиндексированы и т. Д.). Есть ли преимущество в скорости для объединения всех таблиц и выполнения одного массового заявления об обновлении, а также его сохранение в виде 6 отдельных обновлений?
Im ищет наиболее эффективный способ сделать это, даже если он бреет вторую.
Спасибо.
EDIT:
Приношу свои извинения всем. Я обновляю только одну таблицу, но проверяю данные из всех 6, чтобы обновить одну таблицу. (т. е. проверка, чтобы увидеть, является ли table2.somevalue пустым, а затем помечать запись в таблице1 как «ошибка»)
Почему бы не попробовать себя и использовать анализатор запросов для проверки времени обработки? – Jrud
Можете ли вы опубликовать свои операторы обновления и таблицы, которые вы нажимаете? Имея трудное понимание, если вы обновляете 1 таблицу на основе результатов присоединения через 6, или если вы пытаетесь выяснить способ обновления 6 разных таблиц (которые, как упоминает Кейд ниже, невозможно, с одним исключение в Sql 2008 и конкретный сценарий) – chadhoc
@JRud: Я использовал анализатор, результаты подошли довольно близко. Я просто хотел получить от других людей какой-то другой опыт, если он что-то пропустит. – SlackerCoder