172 похожих чатов

SELECT * FROM ( -- date_column содержит индекс SELECT

date_column
FROM my_table
UNION ALL
-- date_column содержит индекс
SELECT date_column
FROM my_table2
) t
WHERE date_column = '2023-01-01'

А в этом случае? Два столбца с индексами соединенных UNION позволят использовать индекс?

11 ответов

26 просмотров

дык explain гляньте. он вам явно точнее ответит

unhingedlunatic- Автор вопроса
Дмитрий Тремасов
дык explain гляньте. он вам явно точнее ответит

Не могу) у меня нет индексов на этих столбцах, и поставить их не могу, т.к. у меня просто реплика...но если я буду знать, что это поможэет увеличить скорость запросов, то смогу попросить эти индексы накинуть

unhingedlunatic
Не могу) у меня нет индексов на этих столбцах, и п...

можно снять с реплики дамп, раскатить отдельно и пробовать индексы сколько угодно

Nickelodeona K
можно снять с реплики дамп, раскатить отдельно и п...

Зачем - просто курсор и роллбэк потом. Или виртуальную БД запустить / в интернете открыть.

unhingedlunatic
Не могу) у меня нет индексов на этих столбцах, и п...

ну как бы использование индексов зависит не только от их наличия, ну и например от index cardinality, который зависит от данных и вагона еще чего. и вы можете получить теоретический ответ, который никак вас к приближению решения ваших проблем. Ну окей - мне тоже кажется что в первом запросе оптимизатор допетрит что писавший запрос был сильно не прав, а во втором вряд ли. Ну и как вам это поможет?

Nickelodeona K
чтобы данные не моделировать, дамп снять минутное ...

Дамп - это просто модель таблиц без данных? А если данные - то их там дофига может быть.

unhingedlunatic- Автор вопроса
Дмитрий Тремасов
ну как бы использование индексов зависит не только...

Понимаю, что наличие индексов это не значит обязательное их использование. Но оно хотя бы будет возможно, если требуется. А вдруг в моем случае использование индекса невозможно в принципе. Например, три сцепленных между собой проиндексированных date_report через UNION это уже автоматически не проиндексированный столбец в итоге и индексы не используются никогда. Я и зашел спросить у экспертов) понятно, что можно долго мучаться, сделать дампы, как тут советуют, но в моем запросе индексы все равно не будут использованы. И какой вывод я могу сделать? Не использованы ли они из-за оптимизатора или их использование было изначально невозможным при таком запросе.

unhingedlunatic
Понимаю, что наличие индексов это не значит обязат...

ну за то что вы будете держать индекс который возможно может будет использоваться - можно получить по шапке. ну как бы индекс из раздела - пусть полежит лишним не будет

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта