Sql: Optymalizacja klauzuli BETWEEN
Napisałem oświadczenie, którego uruchomienie zajmuje prawie godzinę, więc proszę o pomoc, aby móc to zrobić szybciej. Więc zaczynamy:
Tworzę wewnętrzne połączenie dwóch stołów:
Mam wiele przedziałów czasowych reprezentowanych przez interwały i chcę uzyskać dane pomiarowe z pomiarów tylko w tych odstępach.
intervals
: ma dwie kolumny, jedna to czas rozpoczęcia, druga to czas zakończenia interwału (liczba wierszy = 1295)
measures
: ma dwie kolumny, jedną z miarą, drugą z czasem wykonania miary (liczba wierszy = milion)
Wynik, który chcę uzyskać, to tabela z pierwszą kolumną miary, a następnie czas wykonania miary, czas rozpoczęcia / zakończenia danego przedziału (będzie to powtarzane dla wiersza z czasem w rozważanym zakresie)
Oto mój kod:
select measures.measure as measure, measures.time as time, intervals.entry_time as entry_time, intervals.exit_time as exit_time
from
intervals
inner join
measures
on intervals.entry_time<=measures.time and measures.time <=intervals.exit_time
order by time asc
Dzięki