连接到mysql的速度极慢

Posted

技术标签:

【中文标题】连接到mysql的速度极慢【英文标题】:extremely slow connection to mysql 【发布时间】:2013-01-13 06:49:15 【问题描述】:

我正在使用一个非常简单的连接到本地主机数据库:

engine = sqlalchemy.create_engine('mysql+mysqlconnector://usr:pwd@localhost/db')
engine = engine.connect()
data = engine.execute('select * from table')

'table' 有 500 行。然后我在“数据”上运行 cProfiler,在那里我找到了这个:

ncalls  tottime  percall  cumtime  percall filename:lineno(function)
54086  127.261    0.002  127.261    0.002 method 'recv' of '_socket.socket' objects

这里http://bugs.python.org/issue3766似乎将TCP_NODELAY设置为1就可以解决。我的问题是,我在哪里设置这个?

【问题讨论】:

出于好奇,您的桌子有多大? @GWW 500 行... DUUUUH @Neal:很明显,我看不懂。 @GWW 你称自己为“博士生”。 哈! 【参考方案1】:

看来一切正常。错误报告描述了需要 0.02 秒的 recv 调用,而你的调用是该调用的 1/10。这在我看来是完全可以的。需要这么长时间的原因是您拨打了 54086 次电话(每条线路 108 次电话)。我建议您重写查询,以减少调用次数。询问您想要的数据库。

【讨论】:

以上是关于连接到mysql的速度极慢的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 数据库连接速度极慢

AWS RDS 大型实例上的 MySQL 全文搜索速度极慢

Spark连接到MySQL并执行查询为啥速度会快

公司上网速度极慢(断网)解决思路_网络TS

JDBC Batch 执行速度极慢

迁移到 Azure App Service 和 Azure Database for MySQL 灵活服务器后,Wordpress 网站速度极慢