
Pamela Hernández García
PreguntaPuedo hacer tantos índices como yo necesite sobre una misma tabla? cómo sabe SQL cual índice usar si hubiera varios en una misma tabla? Si es una tabla de transacción la cual se modifica, borra e inserta todo el tiempo no pasa nada con los índices???

Roy Rojas
también cualquier duda que tengas puedes escribirme a https://twitter.com/royrojasdev

Roy Rojas
Como bien dice ElTalJL puedes tener tantos indices como quieras, pero eso no quiere decir que eso te vaya a beneficiar. Si viste en la clase, indico que hay que analizar cada caso por aparte, ver cuales indices nos benefician y cuales no. Con los planes de ejcución podemos ver cuales indices se utilizan y que carga le crea a la base de datos. En lo que mencionas para tablas "transaccion", pues claro que el indice es muy importante, depende de que condiciones tengas en el "where" y ahi se utilizará algun indice, no solo el de PK.

Jose Luis Ramirez Tovar Luis Ramirez Tovar
Si, puedes tener tantos indices como tu quieras, pero debes tener cuidado de no sobreindexar la tabla. Es mejor tener varios indices adecuados que muchos que no sirvan. Cada indicé hará mas pesada tu tabla, debido a que SQL tiene que guardar los datos del indice. Hay un componente interno de SQL que se llama Query Optimizer y se encarga de elegir el mejor indice para tu consulta. La mayoría de las veces lo hace correctamente, pero tiene sus excepciones. Cada inserción, borrado o modificación de la tabla, además de afectar la tabla fisica, también tiene que afectar los indices, es por eso que poner tantos no necesariamente es optimo. Además de que eso genera fragmentación en los indices y despues tienes que ejecutar el plan te mtto.