У меня есть небольшая таблица с 500 строками. Эта таблица имеет 10 столбцов, включая один столбец varchar(max).
Когда я выполняю этот запрос:
SELECT TOP 36 *
FROM MyTable
WHERE (Column1 = Value1)
Он извлекает около 36 строк за 3 минуты. Столбцы varchar(max) содержат в каждой строке 3000 символов.
Если я попытаюсь получить только на одну строку меньше:
SELECT TOP 35 *
FROM MyTable
WHERE (Column1 = Value1)
Тогда запрос извлечет 35 строк за 0 секунд.
В статистике моих клиентов, байты, полученные с сервера, у меня есть:
95 292 для запроса, извлекающего данные за 0 секунд
более 200 000 000 для запроса, извлекающего данные за 3 минуты
Знаете ли вы это происходит от?
РЕДАКТИРОВАТЬ --- Вот мой реальный код:
select top 36 *
from Snapshots
where ExamId = 212
select top 35 *
from Snapshots
where ExamId = 212
РЕДАКТИРОВАТЬ --- Дополнительная информация о статистике клиентов
Две статистические данные, имеющие огромные различия:
Байты, полученные от сервера: 66 038 Vs Больше чем 2 000 000
Пакеты TDS, полученные с сервера 30 Vs 11000