запросов на представлениях с шардированными таблицами. Допустим у меня запрос:
select * from view_with_distributed_tables_1 where name GLOBAL IN (select name from view_with_distributed_tables_2)
То правильно ли я понимаю, что КХ будет для каждой шардированной таблицы внутри view в подзапросе создавать свои собственные временные таблицы и отсылать их на удаленные сервера? Смотрю просто логи трейсинга, и если натянуть на документацию, то в теории плюс-минус так... 🤔
сервер инициатор запроса выполнит select name from view_with_distributed_tables_2 и сложит во временную таблицу, затем разошлет эту временную таблицу всем шардам чтобы они выполнили select * from view_with_distributed_tables_1 where name IN ( _temp_table )
а на удаленных шардах разве не должно быть такой же вьюхи view_with_distributed_tables_2?
нет, не обязательно. Шарды получают от инициатора запрос select name from view_with_local_tables_2
хм. Хорошо, попробую сейчас тогда такое
Обсуждают сегодня