为什么Django1.4中的autocommit会减慢单元测试的速度?

2024-06-17 09:21:17 发布

您现在位置:Python中文网/ 问答频道 /正文

django1.4在默认情况下运行,数据库级别的autocommit设置为off。我最近试着打开这个设置,它大大降低了我的测试套件的速度

DATABASES['default']['OPTIONS'].update({'autocommit': True})

我的理解是,现在每个对createsave等的调用在默认情况下都会打开一个事务并发出一个commit语句。所有这些额外事务的成本是否足以解释单元测试的缓慢进行?djangoTestCase事务行为如何处理这个问题(在事务中操作每个测试并在完成后回滚)?我们是否应该期望单元测试中的性能降低反映生产视图的性能


Tags: 数据库truedefault套件情况update单元测试性能
1条回答
网友
1楼 · 发布于 2024-06-17 09:21:17

减慢的单元测试是由于打开和提交作为setUp一部分创建的每个对象的事务的额外成本造成的,并没有反映出在实时环境中性能的降低

相关问题 更多 >