Autor Tema: Ventajas y desventajas de los índices (Bases de Datos)  (Leído 3268 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado prsharp

  • Trade Count: (0)
  • Sv Full Member
  • *
  • Thank You
  • -Given: 0
  • -Receive: 0
  • Mensajes: 543
  • سيمبليمينتي ريكيجي
Ventajas y desventajas de los índices (Bases de Datos)
« : junio 25, 2007, 06:42:18 pm »
Los índices de Mysql al igual que en la vida real los índices de los libros nos sirven para encontrar más rápido aquello que buscamos, por lo tanto y extrapolando a bases de datos podemos decir que nos sirven para agilizar las consultas a las tablas.



Ventajas
  • Una de las mayores ventajas es que cuando Mysql se encuentra un índice evitamos un "escaneo completo de la tabla" lo que hace que cuando tenemos grandes cantidades de datos en nuestras tablas, la mejora puede ser muy importante.
  • Muy relacionado con el anterior... al evitar "escaneos completos de las tablas", evitamos los siguientes problemas: Sobrecarga de CPU, sobrecarga de disco y concurrencia.
  • Con los índices evitamos que Mysql tenga que hacer lecturas secuenciales.
    Los índices nos permiten una mayor rápidez en la ejecución de las consultas tipo SELECT lo que sea WHERE ...
  • Y por último será una ventaja para aquellos campos que no tengan datos duplicados, sin embargo si es un campo con valores que se repiten continuamente (Ej. Masculino/Femenino) no es aconsejable.

Desventajas

Pero a pesar de sus grandes ventajas no debemos abusar de ellos puesto que en determinadas situaciones no supondrá una mejora:

  • Los índices son una desventaja en aquellas tablas las que se utiliza frecuentemente operaciones de escritura (Insert, Delete, Update), esto es porque los índices se actualizan cada vez que se modifica una columna.
  • Los índices tambien suponen una desventaja en tablas demasiado pequeñas puesto que no necesitaremos ganar tiempoen las consultas.
  • Tampoco son muy aconsejables cuando pretendemos que la tabla sobre la que se aplica devuelva una gran cantidad de datos en cada consulta.
  • Por último hay que tener en cuenta que ocupan espacio y en determinadas ocasiones incluso más espacio que los propios datos.

Ahora tenemos un dilema, ¿Usamos índices o no?
Pues como todo depende, si tenemos una consulta en la que tenemos claro el uso que vamos a necesitar de la claúsula WHERE la respuesta es sí, por el contrario si tenemos un gran número de registros duplicados y lo que necesitamos la gran mayoría de veces es una lectura secuencial la respuesta es no[/list]

-= El Conocimiento y El Saber Te Hacen Un Ser Libre=-
"Ando en Busca de Conocimiento".

リカルド / 里卡多 / रिकर्दो / ريكاردو