Насколько улучшается производительность при использовании LIMIT в предложении SQL?

Предположим, у меня есть таблица в моей базе данных с 1.000. 000 записей.

Если я выполню:

SELECT * FROM [Table] LIMIT 1000

Будет ли этот запрос занять такое же время, как если бы у меня была таблица с 1000 записей, и я просто выполняю:

SELECT * FROM [Table]

?

I ' м не ищу, займет ли это ровно столько же времени. Я просто хочу знать, будет ли выполнение первого намного больше времени, чем выполнение второго.

Я сказал 1.000.000 записей, но это могло быть 20.000.000 . Это был просто пример.

Изменить:
Конечно, при использовании LIMIT и без его использования в той же таблице запрос, построенный с использованием LIMIT, должен выполняться быстрее, но я не прошу этого ...

Чтобы сделать его универсальным:

Таблица1 : X записи
Таблица2 : Y записи

(X << Y)

Я хочу сравнить:

SELECT * FROM Table1

и

SELECT * FROM Table2 LIMIT X

Edit 2:
Вот почему я спрашиваю:

I есть база данных с 5 таблицами и отношениями между некоторыми из них. Одна из этих таблиц (я уверен на 100%) будет содержать около 5.000.000 записей. Я использую SQL Server CE 3.5, Entity Framework в качестве ORM и LINQ to SQL для выполнения запросов.

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

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

Итак, эта таблица могла содержат 5.000.000 записей или более, и то, что я не делаю » Я хочу показать пользователю 1000 или около того, и даже в этом случае запрос по-прежнему будет таким медленным, как если бы он возвращал 5.000.000 строк.

6
задан Oscar Mederos 19 April 2011 в 05:21
поделиться