Mysql 通过Python 3中的SQL炼金术缓慢插入到CloudSQL
我遇到了一个奇怪的问题,我将大约5k条记录发布到localshost MySQL数据库,然后发布到CloudSQL实例。 Localhost insert大约需要5秒钟,而CloudSQL大约需要5分钟,而且我的出站流量看起来大约是12kbps(而且我的互联网速度非常快) 我尝试使用mysqldb和mysql连接器设置连接:Mysql 通过Python 3中的SQL炼金术缓慢插入到CloudSQL,mysql,python-3.x,sqlalchemy,Mysql,Python 3.x,Sqlalchemy,我遇到了一个奇怪的问题,我将大约5k条记录发布到localshost MySQL数据库,然后发布到CloudSQL实例。 Localhost insert大约需要5秒钟,而CloudSQL大约需要5分钟,而且我的出站流量看起来大约是12kbps(而且我的互联网速度非常快) 我尝试使用mysqldb和mysql连接器设置连接: alchemy_connection = 'mysql+mysqldb:// alchemy_connection = 'mysql+mysqlconnector://
alchemy_connection = 'mysql+mysqldb://
alchemy_connection = 'mysql+mysqlconnector://
两人似乎都没有提高速度
需要注意的一点是,我正在使用服务器分配的IP地址,通过白名单上的IP连接到db
需要注意的第二件事:)是我正在使用sqlalchemy的bulkinsert语句
有没有想过是什么导致了这个问题?不幸的是,我找不到解决这个问题的好办法,其他一些人似乎也遇到过同样的问题 为了避免缓慢的插入,我最终将列表拆分为N个列表。然后启动N个线程(同时,通过线程+队列)向CloudSQL发布 这将使投递速度加快N,但会带来额外的复杂性和故障点
祝大家好运 我还尝试了禁用日志记录+增加实例大小-这没有起到任何作用。看起来对于cloudsql来说,发布1k条记录需要~20秒。对于localhost实例-需要。。。使用云sql代理进行连接也没有任何区别。呜呜呜呜。