что быстрее запрос?что быстрее запрос (выбрать имя .... или выберите сверху (1) имя
select Name from Worker
или
select TOP(1) Name from Worker
У меня есть 1000000 записей
благодарственное-х заблаговременно
что быстрее запрос?что быстрее запрос (выбрать имя .... или выберите сверху (1) имя
select Name from Worker
или
select TOP(1) Name from Worker
У меня есть 1000000 записей
благодарственное-х заблаговременно
Если у вас нет ORDER BY или DISTINCT, SELECT TOP(1) Name FROM Worker
работает быстрее.
Причина этого заключается в том, что если у вас есть ORDER BY или DISTINCT, запрос должен пройти всю таблицу для сортировки и фильтрации нежелательных результатов. Однако, если это прямой SELECT TOP, он может перейти на первую страницу, сделать первый ряд и сделать это очень быстро.
True. Конечно, если у вас есть 1 000 000 записей, то выбор первого уровня будет быстрее, несмотря ни на что. Предложение order by просто замедлит работу и немного уменьшит разницу в скорости. –
спасибо, много !! – Gold
Во время выполнения запрос может управлять потоком, потому что клиент не может достаточно быстро проанализировать результат (использовать набор результатов 1 млн. Имен). Таким образом, даже при заказе TOP 1 * может * быть быстрее, в зависимости от того, насколько медленна обработка клиента. –
серьезно? разве вы не можете просто испытать себя? –
Почему downvotes? Это законный вопрос, простой и понятный, я понял, о чем он просит. Конечно, это могло быть отформатировано лучше, но давай, -2? Я даю ему +1. –
Могут ли те, кто покидает нисходящие глаза, оставить комментарий, чтобы объяснить? Это хороший вопрос, особенно если у вас есть ORDER BY и DISTINCTS там, и вы сбиты с толку о производительности. – Eric