假设我有一个包含5列的sqlite表,val1到val5,其中每列有165000条记录。我拉每个,并加载到scipy数组,如下所示:
dB= sqlite3.connect('VALUES.db')
cur = db.cursor()
cur.execute('''SELECT val1 FROM table''')
v1=scipy.array(cur.fetchall())
cur.execute('''SELECT val2 FROM table''')
v2=scipy.array(cur.fetchall())
.
.
.
cur.execute('''SELECT val5 FROM table''')
v5=scipy.array(cur.fetchall())
然后我在for循环和xrange中对数组执行一个函数,如下所示:
def fun()
for i in xrange(0,165000):
"perform simple function on values v1 to v5"
fun()
所以问题是这样做的时间(14分钟,我有30张桌子可以通过)。如果问题在我的功能范围内,我会自己处理它,但是我问这个问题,看看是否有人立即发现任何事情,并且在我开始撕开事物之前,使用上面的初始设置显然效率低下。
上述是否有任何行业标准的加速提示?我是一个初学者Python明智,约3个月的经验。我可以找到自己的方法,但有效地使用它是另一回事。