Задаване на правилна стойност за cur.arraysize
може да помогне за настройване на производителността на извличане .Трябва да определите най-подходящата стойност за него. Стойността по подразбиране е 100 . Може да се изпълни код с различни размери на масива, за да се определи тази стойност, като
arr=[100,1000,10000,100000,1000000]
for size in arr:
try:
cur.prefetchrows = 0
cur.arraysize = size
start = datetime.now()
cur.execute("SELECT * FROM mytable").fetchall()
elapsed = datetime.now() - start
print("Process duration for arraysize ", size," is ", elapsed, " seconds")
except Exception as err:
print("Memory Error ", err," for arraysize ", size)
и след това задайте като cur.arraysize =10000 преди да извикате db_select
от оригиналния ви код