У меня есть DB запрос SQLite, который выглядит примерно так:SQLite объединение всех оптимизация
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, я знаю достаточно, чтобы делать простые вещи, но я все еще изучаю продвинутые трюки.
Любые указатели или информация были бы полезны.
О каком количестве данных вы имеете дело? – jhewlett
Если я построю таблицу с использованием того же запроса, она будет работать около 4,5 миллионов записей и около 125 МБ на диске. –
Показать результат 'EXPLAIN QUERY PLAN' для этого запроса. –