1. django ORM模式提供食物处理类:transaction.Django默认的事务处理方式时改动就提交,每执行一次就立即提交,这就会花费大量的时间用于IO。Django也支持所有工作都完成后才提交事务这种方式,这种方式就会在将很多写数据操作一次提高了程序的运行效率。
1. 这种方式就是Django的默认方式,每当函数里面执行一次save或者delete等,就会提交一次,很慢。
@transaction.autocommit
def function():
2. 通过在函数前面加上这句,只会commit一次,程序效率提高很多。
@transaction.commit_on_success
def function():
2. 使用select_related或者prefetch_related,它们的区别时这两个方法目的是一样的,最好一次性取出所有需要的数据,减少链接数据库次数。
3. 减少数据库的连接次数,使用queryset.update()和delete(),这个函数是可以批量处理多条记录的,使他们事半功倍。