в таблицу одним INSERTом?
В идеале хочется
- получить f(ОЗУ, природа_данных) = количество_строк_в_батче
- немного управлять расходуемой памятью
Сделал игрушечный пример, на котором наблюдаю примерно следующее:
если количество полей 10, а строк 2*10^7, нужно 850М
если количество полей 1000, а строк 2*10^5, нужно примерно 4Г
данных что-то типа 500М, т.е. при большом количестве колонок требуется в 8 раз больше памяти.
max_threads не влияет.
версия 21.3
Скрипт вставляющий данные https://pastebin.com/hJaFyxKN , скрипт создающий таблицу https://pastebin.com/2W7XS0qw
каждая колонка создает 2 буфера по 1МБ для инсерта, не важно сколько строк вставляется, параллельные инсерты из-за parallel parsing вроде увеличивают
Обсуждают сегодня