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?