Сообщение Re: Оптимизация: Where перед Union от 20.09.2018 10:00
Изменено 20.09.2018 10:11 Буравчик
Re: Оптимизация: Where перед Union
Здравствуйте, Буравчик, Вы писали:
Б>Не ожидал такого. Это нормально для оптимизатора БД не разобраться в этой ситуации?
В общем, как-то влияет NULL
Для table1 применяется индекс, а для table2 — нет. Интересно...
Б>Не ожидал такого. Это нормально для оптимизатора БД не разобраться в этой ситуации?
В общем, как-то влияет NULL
SELECT table.m
FROM (
SELECT m, NULL AS m2 FROM table1
UNION
SELECT m, m2 FROM table2) AS table
WHERE table.m = :value;
Для table1 применяется индекс, а для table2 — нет. Интересно...
Re: Оптимизация: Where перед Union
Здравствуйте, Буравчик, Вы писали:
Б>Не ожидал такого. Это нормально для оптимизатора БД не разобраться в этой ситуации?
В общем, как-то влияет NULL
Для table1 применяется индекс, а для table2 — нет. Интересно...
Индекс построен по полю m (+еще несколько полей), поле m2 в индексе отсутствует
Б>Не ожидал такого. Это нормально для оптимизатора БД не разобраться в этой ситуации?
В общем, как-то влияет NULL
SELECT table.m
FROM (
SELECT m, NULL AS m2 FROM table1
UNION
SELECT m, m2 FROM table2) AS table
WHERE table.m = :value;
Для table1 применяется индекс, а для table2 — нет. Интересно...
Индекс построен по полю m (+еще несколько полей), поле m2 в индексе отсутствует