|
|
|
хр. процедура или view?
|
|||
|---|---|---|---|
|
#18+
Что будет быстрее и как лучше сделать, создать из запроса представление или скомпилировать его в хранимую процедуру? Есть какая-нибудь разница для разных версий сервера? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2002, 17:00:59 |
|
||
|
хр. процедура или view?
|
|||
|---|---|---|---|
|
#18+
Я за процедуру ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2002, 17:04:32 |
|
||
|
хр. процедура или view?
|
|||
|---|---|---|---|
|
#18+
Все зависит от того, по каким критериям в дальнейшем будет производиться отбор. Если число критериев постоянно и заранее известно, то может быть ХП и лучше будет, а если наборот - то надо использовать view. --- Я лично вообще против процедур, которые возвращают наборы данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2002, 17:59:49 |
|
||
|
хр. процедура или view?
|
|||
|---|---|---|---|
|
#18+
Конечное представление данных на клиент делаю на СП, вьюхи использую лишь для оптимизации выполнения запросов внутри СП. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2002, 18:15:23 |
|
||
|
хр. процедура или view?
|
|||
|---|---|---|---|
|
#18+
и то и другое по скорости примерно одинаково... вьха работает немного быстрее... процка более гибкая.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2002, 18:26:11 |
|
||
|
хр. процедура или view?
|
|||
|---|---|---|---|
|
#18+
да... и вьюха не влияет на @nestlevel.... вызов процы ... это выделение контекста.... потом освобождение.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2002, 18:27:42 |
|
||
|
хр. процедура или view?
|
|||
|---|---|---|---|
|
#18+
Я бы однозначно сделал бы процедурой. Все процедуры сидят в оперативной и просто ждут, не дождутся, чтобы мгновенно отработать. ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2002, 19:49:37 |
|
||
|
хр. процедура или view?
|
|||
|---|---|---|---|
|
#18+
Согласен - если параметры фиксированы - проца лучше, если надо гибче - вью ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2002, 19:57:47 |
|
||
|
хр. процедура или view?
|
|||
|---|---|---|---|
|
#18+
Давайте посмотрим, что такое вьюха. Это заранее разобранный и оптимизированный запрос. Если хп состоит из одного аналогичного запроса, то разницы по скорости практически нет. Но. Лично я предпочитаю вьюхи не использовать, кроме как для разграничения прав доступа*. В этом отношения хп с ней не конкурент. Зато в хп, когда надо, можно запихать какую-нибудь дополнительную обработку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2002, 22:34:36 |
|
||
|
хр. процедура или view?
|
|||
|---|---|---|---|
|
#18+
2 MarchCat вью тоже компилится.... лежит в том же кэше.... но, еще раз повторю.... работает быстрее чем процедуры.... если запрос без параметров то вью выигрывает... и использовать ее как замену подзапроса лучше.... а вот сортировку во вьюхах делать не нужно..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2002, 10:02:24 |
|
||
|
хр. процедура или view?
|
|||
|---|---|---|---|
|
#18+
а вот сортировку во вьюхах делать не нужно..... Поподробней, пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2002, 10:44:40 |
|
||
|
хр. процедура или view?
|
|||
|---|---|---|---|
|
#18+
сотировка требует создания временной таблицы.... лучше использовать ее именно из основного запроса...... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2002, 16:19:56 |
|
||
|
хр. процедура или view?
|
|||
|---|---|---|---|
|
#18+
Как эта беседа вовремя, спасибо DImanch, на 2 дня меня опередил. У View есть очень большая проблема, они не поддерживают CASE оператор. Кто-то знает альтернативу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2002, 18:58:34 |
|
||
|
хр. процедура или view?
|
|||
|---|---|---|---|
|
#18+
Кто сказал, что VIEW не поддерживает CASE?!! Это графический построитель в EM не поддерживает, а ручками уже не модно писать CREATE VIEW? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2002, 19:15:37 |
|
||
|
хр. процедура или view?
|
|||
|---|---|---|---|
|
#18+
Всем привет. Вообще, я бы предпочел SP. А какая система разрабатывается? насколько критична скорость выполнения? Если идет множество запросов и скорость _очень_ важна, то view, как уже было сказано, будет немного быстрее... если разница действительно не существена, то удобнее использовать ХП ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2002, 19:44:40 |
|
||
|
хр. процедура или view?
|
|||
|---|---|---|---|
|
#18+
2 Left Margin Спасибо, но помогло пока мало, вылезла другая бяка: Server: Msg 1033, Level 15, State 1, Procedure vw_MyView, Line 18 An ORDER BY clause is invalid in views, derived tables, and subqueries unless TOP is also specified. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2002, 19:51:01 |
|
||
|
хр. процедура или view?
|
|||
|---|---|---|---|
|
#18+
ну млин... ну не используйте за зря order by во вью и вложенных селектах..... они приводят к созданию временных таблиц.... 2 SandalTree еслиуж очень нужно то select TOP 100 PERCENT ... то что нужно.... если хотите использовать вью как универсальный откомпилированный запрос уберите оттуда сортировку и используйте ее из нужного вам селекта.... например select * from myview order by myfield.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2002, 02:36:40 |
|
||
|
хр. процедура или view?
|
|||
|---|---|---|---|
|
#18+
2 MiCe Sorry my font. ну не используйте за зря order by во вью Please exemple. Ochen nado. Eto tolko k voprosu chto luchshe View or SP. V SP takih problem net, a 1-2% uluchshenija proizvoditelnosti ne spasajut otca russkoj demokratii. PS A chto prosche s klienta posylat "select * from myview order by myfield" or prosto "myproc"? Eto ne vopros, eto fakt. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2002, 02:56:28 |
|
||
|
хр. процедура или view?
|
|||
|---|---|---|---|
|
#18+
Please exemple если я правильно понял - то нужен пример view c order by? create view vw as select top 100 percent myfield,myanotherfld from mytable order by myfield go -------------- 1-2% - это спорный вопрос... бывает и больше... PS A chto prosche s klienta posylat "select * from myview order by myfield" or prosto "myproc" код не для простоты а для эффективности..... (хотя время написания туда то же относится...) и у меня в коде не увидиш select *.... токма select fld1,fld2... PS если вью только для клиента - то ничего против сортировки в нем я не имею.... если же оно используется в качестве замены подзапросов или чего нить подобного - против....сервер все равно строит временную таблицу при наличии во вью сортировки... причем льет туда все данные и потом сортирует.... если же использовать сортировку из вне она тоже строится... но более эффективно... например Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2002, 03:48:09 |
|
||
|
хр. процедура или view?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext Eto kruto, spasibo za nauku. Zavtra proverju. если же оно используется в качестве замены подзапросов или чего нить подобного - против Na 100% soglasen, no starajus подзапросов ne delat' Luchshe umestit' vsjo v odnom zaprose. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2002, 04:24:07 |
|
||
|
хр. процедура или view?
|
|||
|---|---|---|---|
|
#18+
Категорически не согласен с таким подходом (ми). Во View нельзя использовать Order, into, Compute и #tmp и еще много, много чего. Найти обходной маневр, который работает в данном случае, значит поставить себе западню на будущее. PS Мысль обсуждению не подлежит. 8ж( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2002, 07:34:45 |
|
||
|
хр. процедура или view?
|
|||
|---|---|---|---|
|
#18+
>select fld1 from vw1 where fld1 between 23 and 60 order by fld1 -- сортироваться будут только выбранные значения.... select fld1 from vw2 where fld1 between 23 and 60 -- сортируются все данные из vw2 и только потом фильтруются 2MiCe. Насколько я знаю запросы в которых используются вью при выполненении собираются оптимизатором в один запрос и затем строится план выполнения и выполняется. С чего вы решили, что сортируются все данные из vw2. Я решил проверить и никакой разницы в планах выполнения не нашел, может вы по подробнее обясните в каких случаях так оптимизатор выполняет запрос. Вот третий из проверенных мною вариантов в котором планы не чем не различаются (может у меня руки кривые) Код: plaintext 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. 39. 40. 41. 42. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2002, 09:09:03 |
|
||
|
хр. процедура или view?
|
|||
|---|---|---|---|
|
#18+
Попробовал я TOP 100 PERCENT, действительно работает. Но вопрос топика был, что лучше SP or View? По производительности SP затыкает View на 0.5% И плюс, с ней приятнее работать. У View есть тоже свой плюс, за счёт них, мы можем разгрузить сильно разросшийся список SP. Только и всего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2002, 17:18:58 |
|
||
|
хр. процедура или view?
|
|||
|---|---|---|---|
|
#18+
А еще не бывает partitioned процедур. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2002, 17:30:55 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32070331&tid=1818562]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 328ms |

| 0 / 0 |
