Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
13.04.2011, 16:12
|
|||
---|---|---|---|
|
|||
подскажите с запросом |
|||
#18+
асе 11-9-2 вообщем есть три аналогичных таблицы t1starttimeobjectpp 09.03.2011 14:00:00A5609.03.2011 14:00:00B7109.03.2011 15:00:00A 2309.03.2011 15:00:00B12 t2starttimeobjectzz09.03.2011 14:00:00A 10009.03.2011 14:00:00B9509.03.2011 15:00:00A 9809.03.2011 15:00:00B99 t3starttimeobjectwe09.03.2011 14:00:00A609.03.2011 14:00:00B809.03.2011 14:30:00A209.03.2011 14:30:00B309.03.2011 15:00:00A 409.03.2011 15:00:00B309.03.2011 15:30:00A 109.03.2011 15:30:00B1 нужно слить таблицы в одну с группировкой по времени, объект не нужен, т.е. примерно следующее получить: starttimeppzzwe09.03.2011 14:00:001271001909.03.2011 15:00:0035999 делаю так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
и очень долгая выборка, иногда сервер рестартует. с двумя таблицами еще более приемлимо работает как можно оптимизировать это? или использовать новую таблицу куда выгружать поочередно из кадой таблицы эти данные? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
13.04.2011, 16:16
|
|||
---|---|---|---|
|
|||
подскажите с запросом |
|||
#18+
реально в таблицах всего записей t1 - 375 964 t2 - 72 590 t3 - 186 065 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.04.2011, 11:15
|
|||
---|---|---|---|
|
|||
подскажите с запросом |
|||
#18+
Как минимум - запрос дает неверные данные ( перемножение по обьектам - например, для 09.03.2011 14:00:00 в каждой таблице по 2 записи - получается каждая запись из t1 учтется 4 раза ) К тому-же, если в какой-то таблице не будет записи за какое-то время, это время не засчитается Я думаю, слить все в temp таблицу , затем сгруппировать ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.04.2011, 12:52
|
|||
---|---|---|---|
|
|||
подскажите с запросом |
|||
#18+
вообщем я этот же запрос вчера проверил в асе15 тоже самое по времени если 2 таблицы то поярдка 10 секунд если 3 таблицы то 290 секнуд lagic вы правы запрос немножко неверный (я делал в качестве примера) правильно было бы так (чтоб группировал по часам) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
тока очень долго отрабатывает с тремя таблицами, а я собираюсь их еще больше использовать просто задача несколько параметров из разных таблиц (как с получасовым интервалом так и с часовым) вывести в одну таблицу, предварительно сгруппировоав данные ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.04.2011, 13:51
|
|||
---|---|---|---|
|
|||
подскажите с запросом |
|||
#18+
на 15 можно так select starttime,sum(t1.pp) as 'pp', max(t2.zz) as 'zz', sum(t3.we) as 'we' from ( select starttime, t1.pp as 'pp', 0 as 'zz', 0 as 'we' from t1 where starttime >="2011-03-09 14:00" and starttime < "2011-03-09 16:00" union all select starttime, 0 as 'pp', zz as 'zz', 0 as 'we' from t2 where starttime >="2011-03-09 14:00" and starttime < "2011-03-09 16:00" union all select starttime, 0 as 'pp', 0 as 'zz', we as 'we' from t3 where starttime >="2011-03-09 14:00" and starttime < "2011-03-09 16:00" ) tt group by starttime а на 11.9.2 вначале union в таблицу select starttime, t1.pp as 'pp', 0 as 'zz', 0 as 'we' into #tt from t1 where starttime >="2011-03-09 14:00" and starttime < "2011-03-09 16:00" insert #tt select starttime, 0 as 'pp', zz as 'zz', 0 as 'we' from t2 where starttime >="2011-03-09 14:00" and starttime < "2011-03-09 16:00" insert #tt select starttime, 0 as 'pp', 0 as 'zz', we as 'we' from t3 where starttime >="2011-03-09 14:00" and starttime < "2011-03-09 16:00" а затем группировка (можно вначале сгруппировать) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=55&mobile=1&tid=2010357]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
47ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
39ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 145ms |
0 / 0 |