У меня есть таблица с двумя столбцами, а именно ID и KEY (пусть ключ здесь будет целым числом), например
ID KEY
ABC 6
DEF 1
GHI 12
ЗАДАЧА: Получить идентификатор ключа MAX
Решение 1:
Select Top(1) ID
from TABLE
order by KEY desc
Решение 2:
Select ID
from TABLE
where ID = MAX(ID)
РЕДАКТИРОВАТЬ : запросбыл недействительнымВот что я имел в виду:
Select ID
from TABLE
where KEY = (select max(KEY) from TABLE)
Одно из этих решений категорически лучше другого?Каковы преимущества / недостатки каждого решения.
РЕДАКТИРОВАТЬ : Предположим, что нет индекса.Случай 1 - большая таблица Случай 2 - маленькая таблица
Справочная информация: я делаю обзор кода, и я нашел оба решения несколько раз в разных контекстах - иногда с индексами, иногда без, иногда для больших таблиц, иногда для маленьких.