Ventajas y desventajas de los índices (Bases de Datos)

Por el 20 de junio de 2007

en: Sin categoría

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 tiempo
    en 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

Índices y optimización de consultas

Enlaces Relacionados

Un poco de historia y curiosidades de Google Maps/Earth
20 trucos para mejorar tus búsquedas en Google
Ver presentaciones PowerPoint en Gmail
Google Maps lanza el Drag Zoom Control y Directions
Curiosidades de Google Street View
Google es Internet
Google lanza Street View
Utiliza Google para no aburrirte
El rediseño de la portada de Google requiere Javascript
Google Experimental Search
Alternativas a Google
Google y el contenido duplicado
Trabajo en equipos virtuales (Teletrabajo)
Gmail aparece en la página de inicio de Google
Gmail sin invitaciones
Actualización de Google Webmasters
Presently será el Powerpoint de Google

  • Entradas relacionadas:
  • No hay coincidencias

Dejar un comentario