SQL-запрос замедляется при соединении с подзапросом и выполняется только для одной большой базы данных - PullRequest
1 голос
/ 19 июля 2011

Все мои сложные хранимые процедуры работают мгновенно для большинства БД,

Но их выполнение на БД X займет более 30 секунд, может быть больше, но мы пока не нашли.

DB X не имеет большинства данных, но наш сторонник «удаляет» некоторые данные и вставляет их недавно.

Я исправил индекс идентификатора таблицы, но это не помогает.

Затем я обнаружил, когда легкая таблица 'Left Join' подзапрос, который будет возвращать основные данные, выполнениестановится медленным.

Сам подзапрос быстрый, а также, если я вставлю подзапрос во временную хеш-таблицу и оставлю присоединение к хеш-таблице, запрос будет быстрым!

Кто-нибудь знает, что случилосьэто БД Х, а решение?

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

Ответы [ 2 ]

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

Была ли обновлена ​​статистика и перестроены индексы? Или отключен?

Особенно после большого количества вставок, удалений и т. Д.

0 голосов
/ 29 июля 2011

Спасибо

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

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