SELECT TOP

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
Dmitriy Solomnikov
Постоялец
Постоялец
 
Сообщения: 407
Зарегистрирован: 10.11.2004 (Ср) 13:04
Откуда: Москва

SELECT TOP

Сообщение Dmitriy Solomnikov » 26.02.2006 (Вс) 15:46

кто знает, использование SELECT TOP N в MS SQL 2000, 2005 уменьшает время выполнение операции, или ему побоку?

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 26.02.2006 (Вс) 15:48

уменьшает в общем случае

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 26.02.2006 (Вс) 16:44

Время отработки запроса в общем случае не уменьшает, особенно в случае сложных условий отбора. В общем случае уменьшает время вывода данных на клиента (т.к. уменьшает количество этих самых данных).

На практике, второе часто оказывается важнее первого.

Dmitriy Solomnikov
Постоялец
Постоялец
 
Сообщения: 407
Зарегистрирован: 10.11.2004 (Ср) 13:04
Откуда: Москва

Сообщение Dmitriy Solomnikov » 26.02.2006 (Вс) 17:19

Я просто подумал - может СУБД в этом случае ведет сканирование до первых N найденных строк, а потом сразу возвращает результат (как в случае SELECT EXIST). Видимо не правильно подумал... :)

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 26.02.2006 (Вс) 17:39

гм, а откуда он может знать что они первые если, например, у тебя идёт сортировка?
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 27.02.2006 (Пн) 8:39

Sebas писал(а):гм, а откуда он может знать что они первые если, например, у тебя идёт сортировка?


Ну в запросе может и не быть сортировки.
И можно еще играться свойством MaxRecords у Recordset-a...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 27.02.2006 (Пн) 9:19

СУБД в этом случае ведет сканирование до первых N найденных строк
Не всегда запрос вернет именно N записей. Может больше, а может и меньше...
А я все практикую лечение травами...

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 27.02.2006 (Пн) 17:42

Dmitriy Solomnikov писал(а):Я просто подумал - может СУБД в этом случае ведет сканирование до первых N найденных строк, а потом сразу возвращает результат (как в случае SELECT EXIST). Видимо не правильно подумал... :)

Включи отображение графического плана выполнения (execution plan) в Query Analyzer, и подобные идеи будут планомерно исчезать по мере вникания в принципы его работы :).


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

    TopList  
cron