In my app, .update_or_insert takes more time that code by hand.
In a database with 5 tables and 60.000 records in total, the execution time
was:
without .update_or_insert: 0 minutes. 48 secons (Code)
if combustible == G95:
row=db(db.G95.LongitudLatitud==LongitudLatitud).select().first()
if row:
row.update_record(Precio=float(Precio),Fecha_Actualizacion=Fecha_Actualizacion)
else:
db.G95.insert(Latitud=float(Latitud),Longitud=float(Longitud),Gasolinera=Gasolinera,Precio=float(Precio),Fecha_Actualizacion=Fecha_Actualizacion)
with .update_or_insert: 1 minute, 53 secons.
(Code)
if combustible == G95:
db.G95.update_or_insert(db.G95.LongitudLatitud==LongitudLatitud,
LongitudLatitud=LongitudLatitud,Latitud=float(Latitud),Longitud=float(Longitud),Gasolinera=Gasolinera,Precio=float(Precio),Fecha_Actualizacion=Fecha_Actualizacion)
What's your opinion?