в двух таблицах
опасные слова. Вы в джойне все колонки разом сравниваете? Так себе идея для колоночной базы данных. Можно попробовать в два приема сделать - сначала найти совпадения по первичному ключу - их будет уже не ярд, а сильно меньше, и только потом разбираться с остальными колонками.
нет, я сравниваю одну колонку с одной колонкой разных таблиц
попробуйте через group by select a from (select a from t1 union all select a from t2) group by a having count() = 2 если и тут памяти не хватит, попробуйте set max_memory_usage_beefore_external_group_by = 1gb
после установки max_bytes_before_external_group_by = 1 000 000 000. запрос дошёл до 99%, потом лег с Progress: 1.35 billion rows, 46.48 GB (1.25 million rows/s., 43.04 MB/s.) █████████████████████████████████████████████████████████████████████████████████ 99% 0 rows in set. Elapsed: 1160.696 sec. Processed 1.35 billion rows, 46.48 GB (1.16 million rows/s., 40.05 MB/s.) Received exception from server (version 21.9.3): Code: 241. DB::Exception: . DB::Exception: Memory limit (total) exceeded: would use 4.86 GiB (attempt to allocate chunk of 400050176 bytes), maximum: 4.66 GiB. (MEMORY_LIMIT_EXCEEDED)
Обсуждают сегодня