|
|
|
Pl sql программирование большого запроса
|
|||
|---|---|---|---|
|
#18+
Всем здравствуйте знатоки sql и oracle... Ребят у меня есть вот такой запрос попытка была в том что бы сделать запрос так что бы он выдовал полноценную таблицу с подсчётом количества записей в каждом отдельном запросе, после чего вывести это в виде таблицы в ексель... Но тут возникла проблема, файл который я скинул не полный это только отрывок... Вот этот параметр r_f10 это район районов 64 и каждый нужно было посчитать отдельно... Сервер упал не выдержав нагрузки... Ребят скажите можно ли как то поправить это дабы облегчить просчёт, или кто знаком с pl sql может кто то сможет пример кода кинуть, например как просто взять один запрос... Менять в нем номер района и после вносить их в таблицу... Всем кто откликнуться огромное спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 10:30 |
|
||
|
Pl sql программирование большого запроса
|
|||
|---|---|---|---|
|
#18+
а сколько времени отрабатывает каждый из запросов вьюшки, select r_f10,v_f10,g_f10,n_f10,np_f10,p11_25 FROM F11501 where pc_f1=2 and uch_f11=0 and p11_25 in (22,24,28) и сколько записей возвращает? может ли один селест вернуть ту же строку, что и другой? пальцем в небо - не очень много, сравнительно быстро, не возвращает таких-же строк из другой (тогда сразу замена union->union all поможет понять серверу, что делать не надо). Я так понимаю, что и в верхнем селекте - каждый union по сути из своей таблички исходит? тогда по очереди загнать кусок данных в табличку, и потом уже свернуть итоговым запросом. если много - долго, то нужно понимать - какие поля ключевые, какие по ним индексы, партиционированы ли таблицы. как разложены районы по таблицам? вьюшка из юнионов, которая самосоединяется - это беда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 13:02 |
|
||
|
Pl sql программирование большого запроса
|
|||
|---|---|---|---|
|
#18+
LilzenСервер упал не выдержав нагрузки...И в чем это выразилось? Не спрашиваю уж о других интересных подробностях о версии и настройках "упавшего сервера" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2016, 01:59 |
|
||
|
Pl sql программирование большого запроса
|
|||
|---|---|---|---|
|
#18+
Вячеслав ЛюбомудровLilzenСервер упал не выдержав нагрузки...И в чем это выразилось? - а мой друг сервер уронил! - он что, крутой хакер? - нет, он его на пол уронил... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2016, 02:18 |
|
||
|
Pl sql программирование большого запроса
|
|||
|---|---|---|---|
|
#18+
Я тоже постеснялся спросить, не разбился ли ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2016, 04:40 |
|
||
|
Pl sql программирование большого запроса
|
|||
|---|---|---|---|
|
#18+
Я обычно использую следующую логику... select sum(1) prios_2015 , sum(case when f2.r_f10=51 then 1 else 0 end) Rask_2015 , sum(case when f2.r_f10=51 and f2.p11_25=22 then 1 else 0 end) st20811 , .... и так все условия from F115 f1 , F1pri f2 where f1.r_f10=f2.r_f10 and f1.v_f10=f2.v_f10 and f1.g_f10=f2.g_f10 and f1.n_f10=f2.n_f10 and f1.np_f10=f2.np_f10 and f1.pc_f1=1 З/Ы и зачем в вашем запросе distinct так и не понял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2016, 09:53 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39345329&tid=1887044]: |
0ms |
get settings: |
5ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
175ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 477ms |

| 0 / 0 |
