【发布时间】:2016-10-11 21:59:55
【问题描述】:
我有一个我想从 mysql 数据库中提取的列名列表。循环遍历它并每次查询是一种好习惯吗?
当我这样做时,有时/随机它似乎挂起;当我重新启动脚本时,它会在不同的迭代中挂起。在我继续尝试破译问题所在之前,首先想知道这是否是不好的做法。
import mysql.connector
import numpy as np
cnx = mysql.connector.connect(user='user', password='pw', host='ip_here')
for i,j in enumerate(columnList):
cursor.execute('SELECT `' + j + '` FROM `table_name`')
iValues = cursor.fetchall()
cursor.close
if i == 0:
extractedValues = iValues
else:
extractedValues = np.hstack((extractedValues, iValues))
cnx.close
【问题讨论】:
-
不知道是谁让你循环访问数据库的。这不是一个好主意。获取本地或内存中所需的所有数据,并循环访问获取的数据。列中的 200 项意味着 400 次往返 db 的旅行,而只有两次。这应该可以解决问题。
标签: python mysql sql database mysql-python