Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Запрос ...  [new]
zaki
Member

Откуда:
Сообщений: 69
Что лучьше в плане скорости сделать UNION ALL или разбить запрос и закатать даные into into #table ?
27 мар 03, 03:42    [157519]     Ответить | Цитировать Сообщить модератору
 Re: Запрос ...  [new]
Shark
Member

Откуда:
Сообщений: 2365
зависит...
27 мар 03, 07:13    [157544]     Ответить | Цитировать Сообщить модератору
 Re: Запрос ...  [new]
zaki
Member

Откуда:
Сообщений: 69
от чего? .....
27 мар 03, 07:39    [157550]     Ответить | Цитировать Сообщить модератору
 Re: Запрос ...  [new]
ziktuw
Member

Откуда:
Сообщений: 3552
Что лучьше в плане скорости сделать UNION ALL или разбить запрос и закатать даные into into #table ?

А это одно и то же на самом деле.
27 мар 03, 11:22    [157767]     Ответить | Цитировать Сообщить модератору
 Re: Запрос ...  [new]
Beaver
Member

Откуда:
Сообщений: 210
При UNION ALL очень редко, но встечается, SQL Server строит неверный план и время исполнения запроса многократно увеличивается.
Лучше использовать INTO #TABLE или

...

UNION ALL
...
OPTION (CONCAT UNION)
27 мар 03, 11:47    [157807]     Ответить | Цитировать Сообщить модератору
 Re: Запрос ...  [new]
zaki
Member

Откуда:
Сообщений: 69
ок тогды еще 1 вопрос встречается такое
Select * from Table(NOLOCK INDEX=DOCTYPE)
это что использование конкретного индекса?
27 мар 03, 11:56    [157824]     Ответить | Цитировать Сообщить модератору
 Re: Запрос ...  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Да, этот хинт - посказка оптимизатору использовать конкретный индекс.
27 мар 03, 11:57    [157826]     Ответить | Цитировать Сообщить модератору
 Re: Запрос ...  [new]
zaki
Member

Откуда:
Сообщений: 69
Ну тогды еще один вопросец :-))
что лучьше создать 1 большой index тоесть пополю 1,2,3,4
или лучьше 1-2,1-3,1-4,2-3,2-4,3-4
при большом индекс становится большой а на маленьки могет быть вариант что индек 2-3 не часто будет использоваться.
28 мар 03, 07:10    [158670]     Ответить | Цитировать Сообщить модератору
 Re: Запрос ...  [new]
ziktuw
Member

Откуда:
Сообщений: 3552
На этот вопрос невозможно ответить, пока неизвестно, какие критерии в WHERE. Если таковых нет, то индекс (а соотв. и хинт) только навредит. Убедись только, что есть кластерный индекс в каждой таблице и желательно, чтобы он совпадал с первичным ключом.
28 мар 03, 10:23    [158811]     Ответить | Цитировать Сообщить модератору
 Re: Запрос ...  [new]
AAron
Member

Откуда: Москва
Сообщений: 4324
В общем случае можно как "хинт" добавить, что стремление к индексам с наименьшим возможным числом полей, а так же покрывающим индексам - как правило полезно.

Кроме того, при соединении таблиц полезно учитывать
Стратегии соединения
28 мар 03, 10:34    [158832]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить