![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Громаднейшие запросы SQL [MSSQL]
Neo Trinitron © (2006-09-15 15:38:00)Наверное каждый программист сталкивался с чужими громаднейшими запросами повышеной сложности. У кого какая метода выработалась изучать и понимать такие запросы? Вот сижу и ломаю себе голову: как разобрать запрос на 6 экранов... Вобщем, у кого какая метода?
zdm (2006-09-21 11:52:00) [21]
> >И что это даст?
> часть join'ов, cast'ов, where уйдет во VIEW
и что? с самим запросом ему легче не станет! я так понял что автору, просто трудно разобраться с самим запросом, или не грамотным его форматированием, а перенос во VIEW, да еще когда он до конца не понял самого запроса, запутает его в конец.
alex_*** (2006-09-21 11:48:00) [22]>И что это даст?
часть join'ов, cast'ов, where уйдет во VIEW
Sergey13 (2006-09-21 11:44:00) [23]> [22] alex_*** © (21.09.06 11:07)
И что это даст?
zdm (2006-09-21 11:19:00) [24]
> И чего тут разбираться? Откуда 6 экранов? 78 строк всего
> :)
Действительно
zdm (2006-09-21 11:17:00) [25]а не проще-ли поюзать какие-нибдь проги, типа для Or-ы pl/sql developer, или для IB/FB -IBExpert , там есть форматирование SQL запроса..
alex_*** (2006-09-21 11:07:00) [26]а часть логики перенести во view
ЮЮ (2006-09-20 12:37:00) [27]> Он возвращает 37 полей, в критериях 23 условия, 15 таблиц.
Сведи к
SELECT
t1.f as AAA,
...
t15.f as YYY
FROM
aaaaaaaa t1
JOIN bbbbb t2 ON ...
...
JOIN kkkkkk t15 ON ...
WHERE
(t1.f = ...) AND
...
(t15.f = ...)
часть условий из Where, наверняка, можно перенести в ON.
И чего тут разбираться? Откуда 6 экранов? 78 строк всего :)
Desdechado (2006-09-20 12:19:00) [28]Petr V. Abramov © (19.09.06 23:25) [17]
> в Oracle это может повысить скорость, может просто избавить от геморроя.
А можети наоборот - завалить скорость и вырастить геморрой у тех, кто будет разбирать эти запросы, особенно с целью выяснить, что же было причиной завала скорости.
Petr V. Abramov (2006-09-20 00:42:00) [29]> SergP © (19.09.06 23:43) [18]
говорит о том, что или или вместе
грамотная структура
грамотный формирователь
самое грусное, никто не пользуется :)
SergP (2006-09-19 23:43:00) [30]> [16] Johnmen © (16.09.06 22:21)
> Если появляется НАСУЩНАЯ НЕОБХОДИМОСТЬ строить многоэтажные
> запросы, то это говорит только об одном - неграмотно спроектированной
> структуре БД.
> Не имхо.
видел ПО где запросы формируются програмно, и в результате достигают несколькокилобайтного размера. Разве в таком случае можно говорить о неправильно спроектированной структуре БД?
Petr V. Abramov (2006-09-19 23:25:00) [31]> Johnmen © (16.09.06 22:21) [16]
в Oracle это может повысить скорость, может просто избавить от геморроя.
> Он возвращает 37 полей, в критериях 23 условия, 15 таблиц...Така жопа...
фигня, хотя не ежедневная. хотя для чего-то, кроме анализа - точно така
> как разобрать запрос на 6 экранов... Вобщем, у кого какая метода?
0. узнать, для чего он нужен. если никто не знает - забить
1. задача сводится к пониманию, почему сделано так, ане иначе
Johnmen (2006-09-16 22:21:00) [32]Если появляется НАСУЩНАЯ НЕОБХОДИМОСТЬ строить многоэтажные запросы, то это говорит только об одном - неграмотно спроектированной структуре БД.
Не имхо.
ANB (2006-09-15 19:46:00) [33]
> Он возвращает 37 полей, в критериях 23 условия, 15 таблиц.
> ..Така жопа...
Ээээ. Таки его точно можно сделать меньше.
Anatoly Podgoretsky (2006-09-15 19:44:00) [34]Neo Trinitron © (15.09.06 15:38)
Ну какой же это сложный запрос, MS SQL поддерживет до 256 мегабайт
Desdechado (2006-09-15 19:03:00) [35]Имхо, нет ни одного запроса (в котором джойнится более одной таблицы), который нельзя разбить на два и задействовать их в ХП.
Neo Trinitron (2006-09-15 18:14:00) [36]Desdechado ©, этот запрос как раз и находится в ХП. И от этого он не становится проще и поделить его нельзя. Логику не упростишь. Сначала делали так, потом подумали что нужно добавить кое-чего. Так системы и разростаются. Надстройки, мать их... Согласен что такие запросы есть изврат, но я же не буду рассказывать начальнику что надо переписать программу...
Desdechado (2006-09-15 17:51:00) [37]упрощать можно не запрос, а логику получения данных
во избежание таких извратов я обычно пишу ХП
Neo Trinitron (2006-09-15 17:47:00) [38]> Ты, часом, не в МВ работаешь ? Там любили писать многокилобоайтные запросы . . .
Не, даже не знаю такой конторы. Но запрос, поверьте, действительно не простой и упростить его нельзя. Он возвращает 37 полей, в критериях 23 условия, 15 таблиц...Така жопа...
ANB (2006-09-15 17:34:00) [39]
> Neo Trinitron © (15.09.06 17:14) [8]
Ты, часом, не в МВ работаешь ? Там любили писать многокилобоайтные запросы . . .
Neo Trinitron (2006-09-15 17:14:00) [40]Sergey13 © , у меня такая же метода, тока я это пытаюсь представить графически. Вышеописаный запрос я разобрал за 3 часа. Не знаю на сколько это медленно/быстро. Мой начальник описал его с помощью теории множеств. Блин, глянул на его работу, вспомнил что такое настоящий страх. Мало того что значков полно, ещё это дело и на 15 листов получилось:)