|
Срочно нужно получить результаты "большого запроса" запроса
|
|||
---|---|---|---|
#18+
Доброго времени суток. Нужен срочный хелп. такой запрос Код: sql 1. 2.
Запрос "нормальный" те на тестовых данных все впоряде, но на реальной базе пишет что слишком большой темп файл. Что можно сделать.машина на которой выполняется 2Га ОЗУ, винт вообще терабайтник,NTFS Что б сдесь можно было сделать-неважно пусть час выполняется запрос -нужен результат ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2012, 15:09 |
|
Срочно нужно получить результаты "большого запроса" запроса
|
|||
---|---|---|---|
#18+
1) Неудачный алиас столбца - "Temp" 2) Сомнительная связка таблицы саму с собой. Как результат - декартово произведение. По моему - полная хрень. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2012, 15:50 |
|
Срочно нужно получить результаты "большого запроса" запроса
|
|||
---|---|---|---|
#18+
Не помню от куда взял на вооружение... эта хрень есть нарастающий итог на небольших исходнных нормально работает. Может есть другие варианты? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2012, 15:54 |
|
Срочно нужно получить результаты "большого запроса" запроса
|
|||
---|---|---|---|
#18+
rock-n-roll... эта хрень есть нарастающий итог...Что ты имеешь ввиду под "нарастающий итогом"? Если можно, поподробнее, а то есть разные варианты. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2012, 16:20 |
|
Срочно нужно получить результаты "большого запроса" запроса
|
|||
---|---|---|---|
#18+
Ну, то, что Вы вышли за пределы системных ограничений FoxPro не удивительно. Напомню, что FoxPro ограничивается размером таблицы в 2ГБ или количеством записей в 1 миллиард (1 и 9 нулей). Смотря что раньше кончится. У Вас декартово произведение. Т.е. надо возвести в квадрат количество записей исходной таблицы. Вот и смотрите, какой размер и количество записей получилось. А решение очевидное. Отказаться от Select-SQL и перейти к сканированию Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2012, 16:36 |
|
Срочно нужно получить результаты "большого запроса" запроса
|
|||
---|---|---|---|
#18+
Это не "нарастающий итог" в общем случае. Посмотрите на выборку Код: sql 1. 2. 3.
и поймёте, что, при наличии нескольких записей с одинаковым Id - LEFT JOIN повторит предыдущие Id столько раз, сколько у вас записей с текущим Id... Кроме того, нарастающий итог , ИМХО, имеет смысл только при наличии упорядоченных записей, а что такое Id - неизвестно, и в каком порядке нужно наращивать итог - непонятно. Проще для получения нарастающего итога не делать один селект, а сделать выборку и пройтись по ней SCANом. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2012, 16:38 |
|
Срочно нужно получить результаты "большого запроса" запроса
|
|||
---|---|---|---|
#18+
Упс... (я так понимаю, мысли сходятся...) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2012, 16:40 |
|
|
start [/forum/topic.php?fid=41&msg=38083814&tid=1583263]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 18ms |
total: | 165ms |
0 / 0 |