Indices

ELGO
11 de Enero del 2006
Un saludo a todos.
Quisiera saber la desventajas que tienen poner en una tablas pocos o muchos índices.

Gracias

pedro
11 de Enero del 2006
depende....

eddie_
11 de Enero del 2006
En efecto, depende. Hay mucho para hablar de esto pero por lo pronto ahi te va un pantallazo.
Los indices por un lado mejoran las consultas (select) pero por el otro desmejoran las demas operaciones (insert, update, delete). Ten en cuenta que un indice es una estructura paralela que el DBMS tiene que mantener cada vez que insertas una fila, o cada vez que eliminas tuplas, ya que tienen que eliminarse tambien del indice.
Si abusas de los indices en una tabla vas a notar un degradamiento de performance en este tipo de operaciones, sobre todo en tablas muy grandes, digamos de millones de registros.
En el caso de los SELECT, los indices son recomendables si el resultado de tu consulta representa un porcentaje bajo del total de filas, por ejemplo un 5%. Cuando tus consultas retornan un porcentaje elevado del total, a veces es mas recomendable para el DBMS recorrer toda la tabla que utilizar el indice. Tendras que analizar cual es tu caso.