Índices en MySQL

Manejo de índices en MySQL

Los índices en MySQL son referencias en forma de listas ordenadas que devuelven resultados de una consulta a una tabla de forma eficiente. Permiten devolver resultados de forma más rápida, pero conllevan un espacio adicional en disco y un mayor tiempo de ejecución con los comandos INSERT, UPDATE y DELETE, ya que tiene que actualizarse el registro de los índices.

PRIMARY KEY

Clave o llave primaria. Identifica de forma única la  fila de una tabla. El valor tiene que ser único (como UNIQUE) pero solo puede existir una sola clave primaria en una tabla y no permite valores NULL.

Creando la tabla:

  1. CREATE TABLE [tabla](campo1,campo2...)
  2. PRIMARY KEY ([campo1],[campo2]);

Actualizando la tabla:

  1. ALTER TABLE [tabla] ADD PRIMARY KEY ([campo1], [campo2])

UNIQUE

El tipo de índice unique es similar al índice normal pero a diferencia del normal es que su valor tiene que ser único (no permite duplicados).

Creando la tabla:

  1. CREATE TABLE [tabla]([campo1],[campo2]..)
  2. UNIQUE [nombre_indice] (campo1,campo2...)

Actualizando la tabla:

  1. ALTER TABLE [tabla] ADD UNIQUE [nombre_indice] ([campo1],[campo2])

INDEX

El índice normal o no único permite crear índices(llaves)  en una o varias columnas y su valor no tiene porque ser único.

    Creando la tabla:

    1. CREATE TABLE [tabla]([campo1],[campo2]..)
    2. INDEX [nombre_indice] (campo1,campo2...)
    1. CREATE UNIQUE INDEX [nombre_indice] ON [tabla]([campo1],[campo2])

    Actualizando la tabla:

    1. ALTER TABLE [tabla] ADD INDEX [nombre_indice] ([campo1],[campo2])

    FULL TEXT

    Índices específicos para búsquedas de cadenas pero solo pueden realizarse en campos CHAR,VARCHAR Y TEXT. 

    1. CREATE TABLE [tabla]([campo1],[campo2]..)
    2. FULL TEXT [nombre_indice] (campo1,campo2...)
    1. CREATE FULL TEXT INDEX [nombre_indice] ON [tabla](campo1,campo2...)


    1. ALTER TABLE [tabla] ADD FULL TEXT [nombre_indice] ([campo1],[campo2])

    SPATIAL

    Índices específicos para búsquedas de datos geométricos relacionados con el espacio(spatial).

    Nota: FULL TEXT Y SPATIAL son solo soportados por InnoDB y MyISAM en MySQL 5.7

    PARCIALES: 

    Índices que usan parte de un campo CHAR O VARCHAR. Al usar menos caracteres los INSERT y UPDATE son más rápidos.

    1. ALTER TABLE [tabla] ADD INDEX
    2. [nombre_indice](campo1(20), campo2(20))

    Eliminar o cambiar índice: Para eliminar un INDEX, UNIQUE O FULL TEXT debemos indicar el nombre del índice.

    1. ALTER TABLE [tabla] DROP PRIMARY KEY
    1. ALTER TABLE [tabla] DROP INDEX [nombre_indice]
    1. DROP INDEX [nombre_indice] ON [tabla]

    Mostrar índices de una tabla:

    1. SHOW KEYS FROM [tabla]


    Comentarios: 0

    Para poder comentar es necesario iniciar sesión



    Este dominio utiliza cookies de terceros para crear estadísticas y publicidad personalizada. Si continúa navegando está aceptando su uso