Ningún índice no es malo, pero debes prestar atención a cómo los usas o pueden ser contraproducentes en el rendimiento de tus consultas.
Primero: Esquema/diseño
¿Por qué se crea una tabla con una sola columna? Eso probablemente lleve la normalización un paso más lejos. diseño de base de datos es una de las cosas más importantes a tener en cuenta en la optimización del rendimiento
Segundo: Índices
En pocas palabras los índices ayudarán a la base de datos para realizar una búsqueda binaria de su registro. Sin un índice en una columna (o conjunto de columnas), la base de datos a menudo recurrirá a un escaneo de tabla. Un escaneo de tabla es muy costoso porque implica enumerar todos y cada uno de los registros.
Realmente no importa TANTO para escaneos de índice cuántos registros hay en la tabla de la base de datos. Debido a la búsqueda de árbol binario (equilibrado), doblar la cantidad de registros solo dará como resultado un paso de búsqueda adicional.
Determine la clave principal de su tabla, SQL colocará automáticamente un índice agrupado en esa (s) columna (s). Los índices agrupados funcionan muy bien. Además, puede colocar índices no agrupados en columnas que se utilizan con frecuencia en las instrucciones SELECT, JOIN, WHERE, GROUP BY y ORDER BY. Recuerde que los índices tienen cierta superposición, intente nunca incluir su índice agrupado en un índice no agrupado.
También es interesante el factor de relleno en los índices. ¿Desea optimizar su tabla para lecturas (alto factor de relleno - menos almacenamiento, menos E/S) o para escrituras (bajo factor de relleno más almacenamiento, menos reconstrucción de sus páginas de base de datos).
Tercero: La partición
Una de las razones para utilizar la partición es optimizar el acceso a datos. Digamos que tiene 1 millón de registros de los cuales 500,000 registros ya no son relevantes, sino que se almacenan para fines de archivo. En este caso, puede decidir dividir la tabla y almacenar los 500,000 registros antiguos en almacenamiento lento y los otros 500,000 registros en almacenamiento rápido.
Para medir es saber
La mejor manera de conseguir la penetración en lo que sucede es medir lo que sucede a su CPU y el io. Microsoft SQL Server tiene algunas herramientas como Profiler y planes de ejecución en Management Studio que le indicarán la duración de su consulta, el número de lecturas/escrituras y el uso de la CPU. Además, el plan de ejecución le indicará qué índice o si se están utilizando los índices. Para su sorpresa, es posible que vea un escaneo de tabla aunque no lo esperaba.
El efecto de indexación sería el mismo, pero ¿qué ocurre cuando se quiere un segundo índice? –