Предположим, у меня есть таблица в моей базе данных с 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
строк.