2011-04-05 16 views
5

¿Hay alguna razón para agregar índices a la tabla con pocos (menos de 10) elementos? Se usa con frecuencia en combinaciones, pero no estoy seguro si el índice en una tabla tan pequeña aumenta su rendimiento o disminuye.¿Debo agregar índices a una tabla pequeña?

Editar: filas de la tabla son bastante pequeñas: 7 columnas, con un tamaño total menor de 500 bytes, por lo que creo que podría ser almacenado en la memoria del servidor (es respuesta a Paul Sanwald nota)

Respuesta

2

Es poco probable que una tabla de ese tamaño pueda usar el índice. Si la tabla será estable en tamaño y siempre será pequeña, no agregaría índices.

De los libros en pantalla:

Indexación de tablas pequeñas pueden no ser óptima ya que puede tomar la consulta optimizador más largo para atravesar el índice la búsqueda de datos que desea realizar una exploración sencilla tabla . Por lo tanto, los índices en tablas pequeñas nunca se deben usar, pero se deben mantener como datos en los cambios de la tabla.

Por lo tanto, probable que sea una mala idea índice mesas pequeñas.

+0

Estoy de acuerdo. Es poco probable que cualquier ganancia con un conjunto tan pequeño supere el costo de leer el índice. –

2

Al igual que con todas las preguntas de rendimiento, la respuesta es: crea una prueba de rendimiento y mide los resultados.

De lo contrario, hay un 90% de posibilidades de que la respuesta sea incorrecta.

0

Cuando crea una clave principal en la tabla, creará un índice agrupado (suponiendo que todavía no haya creado otro índice agrupado en la tabla. Puede haber solo uno). Ya que está hablando de hacer referencia a él en otras mesas, supongo que harás esto. Por lo tanto, para responder a su pregunta, no es necesario crear un índice, porque se creará uno para usted, suponiendo que esté utilizando la clave principal para buscar información.

Sql Server Clustered Indexes

0

probablemente no, pero sí depende al menos parcialmente de la cantidad de columnas de su tabla tiene, y de qué tipo son aquellas columnas. Si sus filas eran demasiado grandes para almacenarse en la memoria, pero el índice podría ser, entonces podría tener sentido tener un índice en un subconjunto de columnas que se utilizan con frecuencia en sus consultas.

Cuestiones relacionadas