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

Всем привет!) как возможно обойти ошибку автоматически в питоне при

вставке данных из селекта "INSERT INTO table SELECT ..", связанную с нехваткой памяти? сори, ошибку сейчас не воспроизведу со скрином но она самая стандартная при Очень большом запросе - "DB::Exception: Memory limit (for query) exceeded".

я в данный момент использую возможность clickhouse_driver - execute_with_progress и если запрос долго выполняется, то автоматически уменьшаю SELECT через ограничение времени в WHERE запроса и до тех пор, пока время не станет удовлетворительным.

Но мне кажется мой способ неэффективным, т.к. определение оптимальных кусков для вставки описанным выше образом через рекурсию занимает до 10 раз больше времени чем сама вставка потом этих кусков.

Есть ли более простое автоматическое решение для вставки больших запросов в python?

4 ответов

16 просмотров

Тут дело не в питоне. У вас данные дальше сервера не улетают. За исключением служебной информации. То же самое будет и с clickhouse-client.

Алексей-Веселов Автор вопроса
Kostya
Тут дело не в питоне. У вас данные дальше сервера ...

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

Алексей Веселов
Не совсем вас понял. Я понимаю что ошибка не в пит...

Разбить по временному интервалу, например, или поднять ограничения памяти для запроса.

Алексей-Веселов Автор вопроса
Kostya
Разбить по временному интервалу, например, или под...

По временному интервалу я как раз и разбиваю автоматически через рекурсию с методом execute_with_progress, подюирая куски для вставки. Но на такой подбор уходит гораздо больше времени чем на саму вставку. Руками то задать интервалы понятно не сложно, но я хочу, чтобы это происходило автоматически

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта