Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Что лучше?
|
|||
|---|---|---|---|
|
#18+
Необх. лекарство от конвульсий мозга, на почве повышения производительности Маэстро's, чем лучше заниматься, набиванием запросов вложенными запросами, или работать с представлениями? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2001, 11:08 |
|
||
|
Что лучше?
|
|||
|---|---|---|---|
|
#18+
По моему, view лучше - уже потому, что один view можно использовать в куче других запросов. И если придется его менять, то это будет сделано в одном месте. А теперь представь, что этот подзапрос не был оформлен в качестве view - надо пролезть по всем запросам и везде сделать одни и те же изменения, где-нибудь да облажаешься... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2001, 11:29 |
|
||
|
Что лучше?
|
|||
|---|---|---|---|
|
#18+
Энто я понимайт. Интересно про стоимость выполнения. Что дороже получается, запрос(а может и не один) в запросе, аль представленице зазывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2001, 11:41 |
|
||
|
Что лучше?
|
|||
|---|---|---|---|
|
#18+
К тому же на View можно строить индексы. На большем объеме данных должно помочь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2001, 12:18 |
|
||
|
Что лучше?
|
|||
|---|---|---|---|
|
#18+
Чтобы создавать индекс на вьюшку, она должна удовлетворять определенным условиям - далеко не для каждой получится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2001, 14:01 |
|
||
|
Что лучше?
|
|||
|---|---|---|---|
|
#18+
2 Kirillov: в 2000 можно. 2 tors: По уму должно быть одинаково (при отсутствии индексов), потому как проводится оптимизация и в том и в другом случае и в результате после логической оптимизации должен получиться одинаковый запрос из исходной таблицы. НО как выясняется для MSSQL это не так. Пример: создаем таблицу create table testtable (a int identity, b int), делаем insert into testtable values(3) и затем с помощью многократного выполнения insert into testtable select b from testtable заносим записей побольше, скажен миллион Теперь создаем вьюху: create view testview as select * from testtable where a<500000 А теперь сравним select * from testview where a>501000 и select * from testtable where a>510000 and a in(select a from testtable where a<500000) С удивлением отметим что вложенный запрос отработал гораздо медленнее: у меня вложенный запрос - 12 с; запрос из вида - 1 с. При повторных выполнениях ничего не меняется.... И сравним планы... Печальные ощущения на мой взгляд... Может кто то не поленится выполнить все это и прокомментировать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2001, 14:21 |
|
||
|
Что лучше?
|
|||
|---|---|---|---|
|
#18+
Не понятно, что с чем сравнивается. in действительно очень медленный оператор, причем он здесь. Надо было сравнивать чтонибудь типа select * from testview where a>501000 и select * from (select * from testtable where a<500000) where a>510000 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2001, 15:03 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32012712&tid=1825777]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
32ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
25ms |
get tp. blocked users: |
1ms |
| others: | 259ms |
| total: | 348ms |

| 0 / 0 |
