Me doy cuenta de que la respuesta debería ser "el menor tiempo posible", pero estoy tratando de aprender a optimizar las bases de datos y no tengo idea de cuál es el tiempo aceptable para mi hardware.¿Cuánto tiempo tarda una consulta que devuelve 5 millones de registros?
Para empezar, estoy usando mi máquina local con una copia de sql server 2008 express. Tengo un procesador de doble núcleo, 2 GB de ram y un sistema operativo de 64 bits (si eso hace la diferencia). Solo estoy usando una tabla simple con aproximadamente 6 campos varchar.
Al principio he consultado los datos sin ninguna indexación. Esto tomó una cantidad de tiempo ridículamente larga, así que cancelé y agregué un índice agrupado (usando el PK) a la mesa. Esto redujo el tiempo a 1 minuto y 14 segundos. No tengo idea si esto es lo mejor que puedo obtener o si aún puedo reducir esto aún más.
¿Estoy limitado por mi hardware o hay algo más que pueda hacer en mi tabla/base de datos/consultas para obtener resultados más rápidos?
FYI Solo estoy usando un SELECT * FROM estándar para recuperar mis resultados.
Gracias!
EDITAR: Solo para aclarar, solo estoy haciendo esto con fines de prueba. NO NECESITO extraer todos los datos, solo lo uso como una prueba consistente para ver si puedo reducir los tiempos de consulta.
Supongo que lo que estoy preguntando es: ¿hay algo que pueda hacer para acelerar el rendimiento de mis consultas que no sea a) actualizar el hardware yb) agregar índices (suponiendo que el esquema ya es bueno)?
FYI probablemente debería probar insertando en una tabla '# TEMP' en lugar de simplemente seleccionarla. Definitivamente pagará por la sobrecarga de la pantalla para que SSMS muestre todas las filas de 5 m, y se cargará en su memoria y IO – JNK
Para acelerarla, intente evitar el uso de '*' y simplemente solicite los datos que desea –
+1 para La sugerencia de Matt de pedir los datos que desea ... por ejemplo, si todo lo que quiere es la identificación y el nombre de una fila, puede hacer "seleccionar identificación, nombre de ..." – joelparkerhenderson