更快地将SQLAlchemy结果追加到Python列表中
我有一些从数据库查询得到的结果,大约有60000行数据,我需要把这些数据添加到一个列表里。
代码看起来是这样的:
hosts = connection.execute(some_query)
for host in hosts:
mylist.append(host['display_name'])
不过,逐个遍历这些数据并把它们添加到列表里非常慢。有没有什么办法可以让这个过程更快一些?我查过这个链接,但似乎对我的情况不太适用。
2 个回答
1
1
我终于发现,我们使用的mysql连接器(也就是和SQLAlchemy一起用的oursql)里的fetchone函数大部分时间都在这里浪费了。这个函数似乎在每次循环的时候都会被调用。
换成MySQL-Python(mysqldb)连接器后,脚本的运行时间从大约4分钟缩短到了大约3秒。