SQL Server 1 миллион записей: лучший способ получить самую быструю последнюю запись таблицы? - PullRequest
0 голосов
/ 14 марта 2019

SQL Server 1 миллион записей: лучший способ получить самую быструю последнюю запись таблицы?

Пример: У меня есть таблица A с 1 миллионом записей.Как получить самые быстрые последние записи?

Я знаю: SELECT TOP 1 * FROM A ORDER BY ID DESC

Но я думаю, что это не очень хороший способ для меня.

Ответы [ 2 ]

1 голос
/ 14 марта 2019

Запрос в вашем вопросе будет работать очень хорошо, если у вас есть кластеризованный индекс (который может быть индексом первичного ключа) по идентификатору.Нет более быстрого способа извлечь все столбцы из одной строки таблицы.

Я добавлю, что таблица логически представляет собой неупорядоченный набор строк, поэтому ORDER BY требуется для возврата «последнего» или"Первый ряд.Индекс b-дерева в столбце ORDER BY эффективно найдет строку.

0 голосов
/ 14 марта 2019

у вас есть только односторонний индекс для первичного ключа и где значения.заказ по цене немного, но все в порядке, если у вас есть индекс Столбец заказа

--ORDER BY 1 DESC means order by primary key index desc
SELECT [Columns] FROM [TABLENAME] ORDER BY 1 DESC 

--or you can use this if your first column is IDENTITY or A/A
SELECT [Columns] FROM [TABLENAME] ORDER BY [YOUR_COLUMN_WITHA/A ] DESC 
...