У меня есть запрос, который занимает довольно много времени для выбора данных.Позвольте мне поделиться моей схемой данных, и есть ли у вас какие-либо идеи о высокой скорости вместо моего SQL?
---------------------------------------------------
time | statA | statB | statC | ... |
---------------------------------------------------
2018-01-01 00:00:00 | 1 | 2 | 1 | ... |
---------------------------------------------------
2018-01-01 00:00:01 | 2 | 3 | 5 | ... |
---------------------------------------------------
2018-01-01 00:00:02 | 1 | 4 | 3 | ... |
---------------------------------------------------
...
Что бы я хотел получить, используя запрос, выглядит так:
---------------------------------------
time | stat | value |
---------------------------------------
2018-01-01 00:00:00 | statA | 1 |
---------------------------------------
2018-01-01 00:00:01 | statA | 2 |
---------------------------------------
2018-01-01 00:00:02 | statA | 1 |
---------------------------------------
...
...
---------------------------------------
time | stat | value |
---------------------------------------
2018-01-01 00:00:00 | statB | 2 |
---------------------------------------
2018-01-01 00:00:01 | statB | 3 |
---------------------------------------
2018-01-01 00:00:02 | statB | 4 |
---------------------------------------
...
...
Итак, мой запрос теперь
(select time, statA as stat, statA as value
from table)
union (
select time, statB as stat, stastB as value
from table)
union (
select time, statC as stat, stastC as value
from table)
На самом деле, я чувствую себя так глупо, потому что мне приходится писать одни и те же SQL-запросы, которые неоднократно отличаются только стат-идентификатором.
Любые рекомендации и способы разработки моего SQL?