Чтобы лучше понять «почему», хотелось бы, чтобы выходные данные плана объяснения видели шаблоны доступа и выбор операций объединения, которые сделал Oracle.Тот факт, что ваш набор результатов пуст, не означает, что каждая из соединенных таблиц есть.Я предполагаю, что некоторые из объединяемых таблиц могут иметь некоторый размер, и шаблон доступа может подходить или не подходить так же, как и варианты объединения.Например, может быть, вторая таблица x достаточно велика, и Oracle полностью сканирует ее и использует хеш-соединение.После этого все соединенные строки не совпадают, поэтому возвращается 0 строк.Может быть, должен быть индекс по столбцам, а может и нет.Опять же это зависит от строк и блоков.Если не х, возможно у большой с тем же сценарием.Суть в том, что результат пустой, но я предполагаю, что x или y имеют несколько строк, но не совпадают со строками, в результате чего запрос занимает некоторое время.Без плана объяснения действительно сложно сказать.После просмотра можно было бы порекомендовать оптимизацию.