0

我有一个看起来像这样的 sqlite DB 查询:

SELECT
    origin,
    destination,
    weight,
    rate,
    0 as group
    from groupAZones, groupARates
    where
    tms = groupZone

union all

SELECT
    origin,
    destination,
    weight,
    rate,
    1 as group
    from groupBZones, groupBRates
    where
    tms = groupZone

    union all

SELECT
    origin,
    destination,
    weight,
    rate,
    2 as group
    from groupCZones, groupCRates
    where
    tms = groupZone

    union all

SELECT
    origin,
    destination,
    weight,
    rate,
    3 as group
    from groupDZones, groupDRates
    where
    tms = groupZone

有没有像这样优化查询的好方法?我正在尝试创建一个结合这 4 个表的简单视图。将此用作视图查询,对视图的查询大约需要 13 秒。

我尝试为 4 个表创建索引,但似乎没有帮助。

在 SQL 方面,我是个新手,我知道做一些简单的事情,但我仍在学习高级技巧。

任何指针或信息都会有所帮助。

4

1 回答 1

1

CL 指出我应该运行该EXPLAIN QUERY PLAN命令。这导致发现 4 个索引中有两个没有被使用。

谢谢CL!

我仍然想知道是否有更好的方法来执行该查询,但现在它正在做我需要它做的事情。

于 2013-03-25T15:56:24.820 回答