Скорость выполнения запроса

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
snov
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 176
Зарегистрирован: 28.11.2003 (Пт) 10:12
Откуда: Челябинск

Скорость выполнения запроса

Сообщение snov » 17.12.2004 (Пт) 11:58

Люди подскажите какой запрос быстрее выполнится:
Код: Выделить всё
select max(ID) as M_ID From [TableName]

или
Код: Выделить всё
select top 1 ID From [TableName] Order by ID Desc

P.S. записей очень много
p.p.s имеется ввиду MSSQL, но также интересно применительно к XS

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

Сообщение Konst_One » 17.12.2004 (Пт) 12:07

запусти Profiler и проверь сам на своей базе.

snov
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 176
Зарегистрирован: 28.11.2003 (Пт) 10:12
Откуда: Челябинск

Сообщение snov » 17.12.2004 (Пт) 12:13

Konst_One писал(а):запусти Profiler и проверь сам на своей базе.

Исчерпывающий ответ. Спасибо

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 17.12.2004 (Пт) 13:44

Если ID - это уникальный кластерный индекс, то, чисто эмпирически, время выполнения запросов должно быть одинаковым, поскольку набор записей изначально физически упорядочен по ID. Может быть первый вариант (с MAX) сработает немного быстрее.

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

Сообщение Ennor » 21.12.2004 (Вт) 16:52

А может быть и наоборот. Надо план выполнения смотреть, а он будет зависеть от статистики, опять-таки. Хотя, если индекс кластерный, то по идее должно быть одинаково.

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

Сообщение Ennor » 21.12.2004 (Вт) 17:05

Полагаю, что комментарии излишни - см. аттач.

Проверка производилась на рабочем сервере на таблице с примерно полумиллионом строк. Кстати, ты не сказал, сколько именно в твоем понимании - "очень много", это могут быть разные вещи в понимании разных людей...
У вас нет доступа для просмотра вложений в этом сообщении.


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

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

Сейчас этот форум просматривают: Google-бот и гости: 3

    TopList