Tengo una pequeña tabla con 500 filas. Esta tabla tiene 10 columnas, incluida una columna varchar (max).Pregunta lenta "Seleccionar" con varchar (max)
Al realizar esta consulta:
SELECT TOP 36 *
FROM MyTable
WHERE (Column1 = Value1)
recupera alrededor de 36 filas en 3 minutos. Las columnas varchar (max) contienen en cada fila 3000 caracteres.
si intento para recuperar sólo una fila inferior:
SELECT TOP 35 *
FROM MyTable
WHERE (Column1 = Value1)
A continuación, la consulta recupera 35 filas en 0 segundos.
En mis estadísticas clientes, bytes recibidos desde el servidor, que tengo:
95 292 para la consulta que recupera los datos en 0 seg
más de 200 000 000 para la consulta que recupera los datos en 3 minutos
¿Sabes de dónde viene?
EDITAR --- Aquí está mi verdadero código:
select top 36 *
from Snapshots
where ExamId = 212
select top 35 *
from Snapshots
where ExamId = 212
EDITAR --- Más información sobre estadísticas de clientes
Las dos estadísticas que tienen una gran variación son:
bytes recibidos desde servidor: 66 038 Vs Más de 2 000 000
Paquetes TDS recibidos del servidor 30 Vs 11000
No, pero recomendaría cambiar el campo 'varchar' a un campo' text' y ver si eso resuelve el problema de rendimiento. – Emmanuel
['text' ha * long * obsoleto] (http://msdn.microsoft.com/en-us/library/ms187993.aspx) - ¿por qué lo recomendaría? –
Quizás es un problema de memoria o un problema de cambio de disco? – Toc