date_column
FROM my_table
UNION ALL
-- date_column содержит индекс
SELECT date_column
FROM my_table2
) t
WHERE date_column = '2023-01-01'
А в этом случае? Два столбца с индексами соединенных UNION позволят использовать индекс?
дык explain гляньте. он вам явно точнее ответит
Не могу) у меня нет индексов на этих столбцах, и поставить их не могу, т.к. у меня просто реплика...но если я буду знать, что это поможэет увеличить скорость запросов, то смогу попросить эти индексы накинуть
можно снять с реплики дамп, раскатить отдельно и пробовать индексы сколько угодно
Зачем - просто курсор и роллбэк потом. Или виртуальную БД запустить / в интернете открыть.
чтобы данные не моделировать, дамп снять минутное дело
ну как бы использование индексов зависит не только от их наличия, ну и например от index cardinality, который зависит от данных и вагона еще чего. и вы можете получить теоретический ответ, который никак вас к приближению решения ваших проблем. Ну окей - мне тоже кажется что в первом запросе оптимизатор допетрит что писавший запрос был сильно не прав, а во втором вряд ли. Ну и как вам это поможет?
Дамп - это просто модель таблиц без данных? А если данные - то их там дофига может быть.
Интересный ты разработчик БД...
Понимаю, что наличие индексов это не значит обязательное их использование. Но оно хотя бы будет возможно, если требуется. А вдруг в моем случае использование индекса невозможно в принципе. Например, три сцепленных между собой проиндексированных date_report через UNION это уже автоматически не проиндексированный столбец в итоге и индексы не используются никогда. Я и зашел спросить у экспертов) понятно, что можно долго мучаться, сделать дампы, как тут советуют, но в моем запросе индексы все равно не будут использованы. И какой вывод я могу сделать? Не использованы ли они из-за оптимизатора или их использование было изначально невозможным при таком запросе.
ну за то что вы будете держать индекс который возможно может будет использоваться - можно получить по шапке. ну как бы индекс из раздела - пусть полежит лишним не будет
Обсуждают сегодня