|
|
|
Улучшение читабельности большого запроса
|
|||
|---|---|---|---|
|
#18+
Есть гигантский SQL запрос, разбаираться в нем, крайне тяжело - просто головная боль. В программах (напрмер, Delphi, C) можно исользовать процедуры - группируем код по каким либо признакам и прячем его по процедурам - по итогу имеем удобный и понятный код, на производительности это не отражается. Если же чать зарпоса разбросать по процедурам, то время работы сильно уменьшится - значит этот прием отпадает. Возможны ли какие нибудь приемы по упрощению (улучшению читабельности) кода SQL? ЗЫ Аккуратное наипсание уже применено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2008, 19:21 |
|
||
|
Улучшение читабельности большого запроса
|
|||
|---|---|---|---|
|
#18+
TarabtsevВ программах (напрмер, Delphi, C) можно исользовать процедуры - группируем код по каким либо признакам и прячем его по процедурам - по итогу имеем удобный и понятный код, на производительности это не отражается. В "не отражается" Вы ошибаетесь. Хотя если компилятор умеет inline-ить процедуры, бывает, что и не отражается. TarabtsevВозможны ли какие нибудь приемы по упрощению (улучшению читабельности) кода SQL? Сложные запросы стоит писать с применением WITH (в стандарте это называется кажется common table expression). Фактически это ближайший аналог "подпрограммы" для запросов. Стандартные куски следует выделять в именованные запросы - то есть во view. При этом не жалеть сделать столько похожих view, сколько нужно для нормальной производительности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2008, 20:23 |
|
||
|
Улучшение читабельности большого запроса
|
|||
|---|---|---|---|
|
#18+
С помощью вьюх можно упростить и повысит читабельность любого запроса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2008, 09:08 |
|
||
|
Улучшение читабельности большого запроса
|
|||
|---|---|---|---|
|
#18+
Благодарю за ответы! Дополню вопрос: самая большая секция (2/3 кода) это условия отбора. Что нибудь с этим можно сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2008, 12:30 |
|
||
|
Улучшение читабельности большого запроса
|
|||
|---|---|---|---|
|
#18+
Tarabtsev Дополню вопрос: самая большая секция (2/3 кода) это условия отбора. Что нибудь с этим можно сделать? В MS SQL можно воспользоваться пользовательскими функциями ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2008, 20:25 |
|
||
|
Улучшение читабельности большого запроса
|
|||
|---|---|---|---|
|
#18+
TarabtsevБлагодарю за ответы! Дополню вопрос: самая большая секция (2/3 кода) это условия отбора. Что нибудь с этим можно сделать?Вставить комментарии между условиями отбора. Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2008, 11:42 |
|
||
|
Улучшение читабельности большого запроса
|
|||
|---|---|---|---|
|
#18+
TarabtsevБлагодарю за ответы! Дополню вопрос: самая большая секция (2/3 кода) это условия отбора. Что нибудь с этим можно сделать? Каждое выражение- на отдельной строке. Выравнивать весь код по столбцам Код: plaintext 1. 2. 3. 4. Мдя.... Выровнять код при пропорциональном шрифте практически невозможно.... Ну, остается поверить на слово.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2008, 22:04 |
|
||
|
Улучшение читабельности большого запроса
|
|||
|---|---|---|---|
|
#18+
на эту тему есть книга, на мой взгляд не плохая: Joe Celko's SQL Programming Style (The Morgan Kaufmann Series in Data Management Systems) ISBN: 0120887975 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2008, 10:30 |
|
||
|
Улучшение читабельности большого запроса
|
|||
|---|---|---|---|
|
#18+
andrey odegovна эту тему есть книга, на мой взгляд не плохая: Joe Celko's SQL Programming Style (The Morgan Kaufmann Series in Data Management Systems) ISBN: 0120887975а на эту книгу есть топик , на мой взгляд ещё лучше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2008, 11:22 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=35383806&tid=1543790]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
147ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 246ms |
| total: | 472ms |

| 0 / 0 |
