Выберите запрос с предложением где чрезвычайно замедляется, если применяется к столбцам второй таблицы - PullRequest
0 голосов
/ 26 июня 2018

У меня есть две таблицы: A и B. И есть VIEW, состоящий из оператора LEFT JOIN этих двух таблиц.Я запускаю запрос SELECT для этого VIEW с предложением where.Если фильтры применяются только к столбцам таблицы A, запрос выполняется быстро.Но если я добавлю какой-либо столбец B в фильтр (независимо от типа данных), время выполнения запроса резко возрастет с 0,5 до 50-60 секунд.Так в чем же проблема?

1 Ответ

0 голосов
/ 27 июня 2018

попробуйте добавить это условие фильтра в предложение ON, например. Выберите col1, col2. СЛЕДУЮЩЕЕ СОЕДИНЕНИЕ B ON (Ax = Bp и Bq =?) ГДЕ Am =?

Я предполагаю, что Bq =?это условие фильтра, из-за которого ваш запрос замедляется

Если вышеуказанное решение не решит вашу проблему, то создайте индекс по столбцу в таблице B, который используется для фильтрации

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