Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Громаднейшие запросы SQL [MSSQL]


Страницы:   1 2 3

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 листов получилось:)


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо