子查询与两个单独的选择查询的性能是什么?

时间:2014-02-20 21:51:05

标签: sqlite select subquery

一个通常比SQLite文件数据库更快吗?

子查询是否会受益于某种内部优化,或者它们是否在内部处理,就好像您进行了两次单独的查询一样?

我做了一些测试但是我没有看到太大的区别,可能是因为我的桌子现在太小了(少于100条记录)?

1 个答案:

答案 0 :(得分:5)

这取决于很多因素。两个单独的查询意味着两个请求请求有一点开销,但如果数据库位于不同的服务器上,这会更加重要。对于子查询和联接,需要组合数据。少量可以很容易地组合在内存中,但是如果数据变大,那么它可能不适合,导致需要将临时数据交换到磁盘,从而降低性能。

因此,没有一般规则可以说哪一个更快。做一些测试并了解这些因素是很好的。使用“真实”数据进行一些测试,并使用您希望在一年内获得的数据量。

并在将来继续测试。当环境或数据量发生变化时,性能良好的查询可能会突然变慢。