2015-12-22 71 views
1

我使用Django 1.6和Postgres,将在特定表中bulk_create锁定整个表? (在我的情况,我散装创造10,000行,它需要约10秒),我在创建对象的每半秒,而批量创建发生了什么,没有这些人的创造雄测试这一点,但我只是想使当然。谢谢!是否Django的bulk_create同时插入行锁定整个表?

回答

0

bulk_create插入的对象的列表提供到数据库以有效的方式(一般只有1查询,无论有多少个对象有),所以它的块表来执行原子事务

用法:bulk_create(obj_list, batch_size=None)

batch_size参数控制多少个对象在单一的查询中创建的。缺省情况是在一个批处理中创建所有对象,SQLite除外,默认情况下,每个查询最多使用999个变量。

以下article也可以给你一个想法是多快相对于其他方法bulk_create