【发布时间】:2018-04-17 10:31:17
【问题描述】:
我有一个选择查询,如下:
select distinct
...some fields
from
table_a,
table_b,
table_c,
...more tables
where
table_a.id = table_b.id and
... (rest of the tables) and
some_field_that_i_care_about = 42
order by
my_field
如果我按原样运行该查询,大约需要半秒才能得到我期望的结果。
不过,如果我将相同的查询转换为视图(不包括 some_field_that_i_care_about = 42 条件)然后运行:
select *
from the_view
where some_field_that_i_care_about = 42
查询需要大约 40 秒才能返回相同的数据。
为什么会这样?
【问题讨论】:
-
显示两个查询的EXPLAIN QUERY PLAN 输出。
标签: sqlite views database-performance