kray_zemli (kray_zemli) wrote,
kray_zemli
kray_zemli

Categories:

Вот навыдумывали же линуксиалы говна

Написать скрипт на питоне, тупо перекачивающего базу с места на место, не так-то просто, оказывается.

Вот казалось бы, берёшь sqlalchemy, делаешь SELECT, потом INSERT. Теоретически, sqlalchemy позволяет передавать сразу массив данных, который каким-то-там executemany отрабатывает за один раз. Я так и не смог заставить это работать для запросов типа
SELECT * FROM table WHERE id in (.....)
, так что пришлось делать их по одному, а INSERT при передаче массива, судя по всему, тоже выполняет их по одному и это жутко тормозит (полагаю, он синхронно ждёт своего ответа от сервера на каждую строчку прежде чем слать следующую). В конце-концов, пришлось по старинке самому формировать строчки, самому же разбивая данные на куски не очень большого размера. Но вот с текстами в utf8 это не сработало, пришлось так и оставить вставку по одной строчке.

Да и не только в питоне дело. Весь этот линукс -- неэргономичное говнище, в котором нельзя ни шагу ступить без часового гугления про всяческие засады на пути.
Subscribe

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 6 comments