ต้วอย่าง โครงสร้าง code เก่า ก่อนทำการ optimize
สมมติมีการทำงาน ให้สร้าง 200 record จะได้เวลาประมาณ เกือบ 1 นาที หรือมากกว่านั้น
โค้ด: เลือกทั้งหมด
for move in val_id:
val = move.name
data_to_sql.append(val)
sql = """ INSERT INTO table (name) VALUES (%s)"""
cr.execute(sql, val)
หาก ให้สร้าง 200 record จะได้เวลาประมาณ 0.632
โค้ด: เลือกทั้งหมด
data_to_sql = []
for move in val_id:
val = (move.name)
data_to_sql.append(val)
sql = """ INSERT INTO table (name) VALUES (%s)"""
cr.executemany(sql, data_to_sql)
การอัปเดทหลายค่าพร้อมกันโดยที่มีการทำการอัปเดทข้อมูลที่แตกต่างการทั้งหมด
โค้ด: เลือกทั้งหมด
str_product_uom = ''
for move in complete:
str_product_uom += '\n When ' + 'ไอดีที่จะให้อัปเดท' + ' Then ' + 'ค่าที่ต้องการจะให้อัปเดทของไอดีนั้น')
set_product_uom = 'product_uom = \n' \
'CASE id \n' \
+ str_product_uom + '\n END \n'
cr.execute("UPDATE stock_move set "+sql+" where id in %s", (tuple(move_id),))