Ben*_*ey4 1 sqlite testing django postgresql
即使您在开发和生产中使用另一个RDBMS(我使用PostgreSQL),本文也建议使用SQLite进行测试.我尝试了SQLite用于一个测试用例,它确实运行得更快(大约18.8倍,0.5秒对9.4秒!).
在哪些情况下可以使用SQLite导致不同的测试结果比我使用PostgreSQL?
只有我测试一段包含原始SQL查询的代码?
任何时候,尽管查询生成器的平台抽象努力,查询生成器可能会生成在不同平台上表现不同的查询.正则表达式,排序规则和排序的差异,关于聚合和分组的不同严格程度,使用全文搜索或其他扩展功能,使用除了最简单的函数和操作符之外的任何东西等.
此外,正如您所指出的,每次运行原始SQL时.
在迭代开发期间在SQLite上运行测试是合理的,但是在推送到生产之前,您确实需要在要部署的同一个DB上运行它们.否则你会被一些查询所困扰,其中不同的引擎具有不同的功能来通过连接来证明传递相等性,GROUP BY或者是对查询的不同许可,因此查询将在一个上工作然后在另一个上失败.
在推送更改之前,您还应该在合理的数据集上对PostgreSQL进行测试,以便找到明显的性能回归,这将成为生产中的问题.在SQLite上执行此操作没有多大意义,因为SQLite通常会有快速或慢速的查询.
我很惊讶你看到你报告的那种速度差异.我想看看为什么测试在PostgreSQL上运行得那么慢以及你可以做些什么,因为在生产中它显然不会有相同的性能差异.我在优化PostgreSQL中写了一些关于快速测试的内容.
| 归档时间: | 
 | 
| 查看次数: | 464 次 | 
| 最近记录: |