Когда мы не должны использовать хеш-соединения в sql-сервере? - PullRequest
0 голосов
/ 20 декабря 2011

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

Просьба поделиться.

1 Ответ

2 голосов
/ 20 декабря 2011

Хеш-объединения работают на удивление хорошо для больших наборов данных, особенно если нет индексов или размеры таблиц сильно различаются.

Двумя основными соображениями, касающимися отказа от использования хеш-соединений в небольших наборах данных, являются:

  1. Ограничения памяти

    • Хеш-объединения занимают много памяти и пытаются загрузить хотя бы одну из таблиц полностью в память. Если вам не хватает памяти, он должен записывать записи на диск или в базу данных tempdb рекурсивным способом
  2. Параллелизм

    • Хеш-объединения не предпочтительны для большого количества одновременно работающих пользователей, поскольку они просто поглощают ваши ресурсы, если для каждого запрошенного объединения требуется построить пару таблиц в памяти.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...