Escolar Documentos
Profissional Documentos
Cultura Documentos
(https://www.anerbarrena.com)
(https://www.anerbarrena.com/feed/)
(https://www.youtube.com/user/anerbarrena)
(https://www.linkedin.com/in/aner-barrena-valbuena-154ba2150/)
(https://twitter.com/anerbarrena)
(https://www.facebook.com/Anerbarrenaweb)
Inicio (https://www.anerbarrena.com)
PHP y MySQL (https://www.anerbarrena.com/programacion/php/) MySQL
(https://www.anerbarrena.com/programacion/php/mysql/)
(https://www.facebook.com/sharer/sharer.php?u=https://www.anerbarrena.com/mysql-create-index-5281/)
(https://twitter.com/intent/tweet?url=https://www.anerbarrena.com/mysql-create-index-
5281/&text=%20vía%20@anerbarrena) (https://www.linkedin.com/cws/share?
url=https://www.anerbarrena.com/mysql-create-index-5281/) (whatsapp://send?text=
https://www.anerbarrena.com/mysql-create-index-5281/ 1/11
13/11/2018 MySQL CREATE INDEX: Crear o añadir índices en tablas
https://www.anerbarrena.com/mysql-create-index-5281/) (https://plus.google.com/share?
url=https://www.anerbarrena.com/mysql-create-index-5281/)
Post para repasar la sentencia de MySQL CREATE INDEX que sirve para crear o añadir índices en las tablas de una
base de datos y optimizar su rendimiento. Uso de cookies
Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su
Otras sentencias MySQL (https://www.anerbarrena.com/programacion/php/mysql/)
consentimiento interesantes
para la aceptación de las mencionadas cookies y la aceptación de nuestra política deson:
cookies
(https://www.anerbarrena.com/politica-de-cookies/), pinche el enlace para mayor información.
DROP TABLE (https://www.anerbarrena.com/drop-table-mysql-5048/)
ACEPTAR
Por contra, si quisiéramos eliminar un índice os recomiendo leer este otro post:
Los índices de las tablas ayudan a indexar el contenido de diversas columnas para facilitar la búsquedas de
contenido de cuando se ejecutan consultas sobre esas tablas.
De ahí que la creación de índices optimiza el rendiemiento de las consultas y a su vez el de la BBDD.
Únicos
Primarios
Ordinarios
De texto completo
Parte de campos o columnas
MySQL
1 CREATE INDEX nombre_indice ON nombrede_tabla(columna [columna2...]);
Con el código superior CREATE INDEX estaríamos creando uno o varios índices ordinarios en una tabla existente.
MySQL
1 CREATE FULLTEXT INDEX nombre_indice ON nombre_tabla(columna [columna2...]);
https://www.anerbarrena.com/mysql-create-index-5281/ 2/11
13/11/2018 MySQL CREATE INDEX: Crear o añadir índices en tablas
Con este otro código CREATE INDEX estaríamos creando uno o varios índices de texto completo FULLTEXT en
una tabla existente.
Yo personalmente prefiero definir lo íncides al crear la tabla o si la tabla ya existe uso la sentencia ALTER TABLE
para modificarla.
Un índice único no permite la inserción los valores duplicados en dicha columna que marquemos como único. S
puede aplicar a varias columnas. Os pongo 2 ejemplos para añadir un índice único a una tabla:
MySQL
1 ALTER TABLE nombre_de_la_tabla ADD UNIQUE [nombre_indice] (nombre_columna, [bombre_columna2]...);
Ahora os muestro el código necesario para añadir el índice cuando se crea la tabla:
MySQL
1 CREATE TABLE nombre_de_la_tabla (nombre_columna1, nombre columna 2...)
2 UNIQUE [nombre_indice] (nombre_columna)
Os explico el código:
Un índice primario es también conocido como Primary KEY, permite crear un índice en cuyo valor es único y no
puede ser NULL. Solo puede haber un índice primario por tabla.
MySQL
1 ALTER TABLE nombre_de_la_tabla ADD PRIMARY KEY (nombre_columna);
Ahora os muestro el código necesario para añadir el índice cuando se crea la tabla:
MySQL
1 CREATE TABLE nombre_de_la_tabla (nombre_columna1, nombre columna 2...)
2 PRIMARY KEY (nombre_columna)
Os explico el código:
https://www.anerbarrena.com/mysql-create-index-5281/ 3/11
13/11/2018 MySQL CREATE INDEX: Crear o añadir índices en tablas
MySQL
1 ALTER TABLE nombre_de_la_tabla ADD INDEX [nombre_indice] (nombre_columna, [bombre_columna2]...);
Con ADD INDEX definimos la columna que hará de índice ordinario. Podemos definir varias columnas.
Ahora os muestro el código necesario para añadir el índice cuando se crea la tabla:
MySQL
1 CREATE TABLE nombre_de_la_tabla (nombre_columna1, nombre columna 2...)
2 INDEX (nombre_columna, [bombre_columna2]...)
Os explico el código:
Estos índices FULLTEXT o de texto completo se usan en tablas del tipo MyISAM, se debe relacionar con
columnas de tipo TEXT, CHAR o VARCHAR.
Optimizan el rendieminto de las consultas con búsquedas en tablas con gran información de campos de texto. Os
pongo 2 ejemplos para añadir un índice ordinario a una tabla:
MySQL
1 ALTER TABLE nombre_de_la_tabla ADD FULLTEXT [nombre_indice] (nombre_columna, [bombre_columna2]...)
Ahora os muestro el código necesario para añadir el índice cuando se crea la tabla:
MySQL
1 CREATE TABLE nombre_de_la_tabla (nombre_columna1, nombre columna 2...)
2 FULLTEXT (nombre_columna, [bombre_columna2]...)
Os explico el código:
Similar al índice anterior FULLTEXT pero solamente cogiendo parte del contenido de la columna. Este tipo de
índices aligeran las consultas sobre campos de textos. Por ejemplo si realizamos búsquedas sobre tablas de
nombres o apellidos con seleccionar los primeros caracteres nos valdría para realizar la comparación.
https://www.anerbarrena.com/mysql-create-index-5281/ 4/11
13/11/2018 MySQL CREATE INDEX: Crear o añadir índices en tablas
Estos índices se definen seleccionando los primeros X caracteres de la columna. Os pongo 2 ejemplos para añadir
un índice con parte de una columna:
MySQL
1 ALTER TABLE nombre_de_la_tabla ADD INDEX (nombre_columna(X), [bombre_columna2(X)]...);
Con ADD INDEX definimos la columna que hará de índice siendo X el número de caracteres a indexar.
Podemos definir varias columnas.
Ahora os muestro el código necesario para añadir el índice cuando se crea la tabla:
MySQL
1 CREATE TABLE nombre_de_la_tabla (nombre_columna1, nombre columna 2...)
2 INDEX (nombre_columna(X), [bombre_columna2(X)]...)
Os explico el código:
Con INDEX definimos la columna o columnas que harán de índices siendo X el número de caracteres a
indexar.
Post Relacionados:
3. CREATE TABLE MySQL: Crear una tabla en una base de datos (https://www.anerbarrena.com/create-table-
mysql-5023/)
4. Tipos de dato en una base de datos MySQL (https://www.anerbarrena.com/tipos-dato-mysql-5024/)
(https://twitter.com/anerbarrena)
(https://www.facebook.com/Anerbarrenaweb)
(https://www.youtube.com/user/anerbarrena)
(https://plus.google.com/+AnerBarrena/posts)
(https://www.anerbarrena.com/feed
https://www.anerbarrena.com/mysql-create-index-5281/ 5/11
13/11/2018 MySQL CREATE INDEX: Crear o añadir índices en tablas
(https://www.anerbarrena.com/php-utf8_encode-5277/)
PHP utf8_encode(): Codi car cadenas a UTF-8 (https://www.anerbarrena.com/php-utf8_encode-5277/)
(https://www.anerbarrena.com/diferencias-jquery-position-o set-5284/)
Diferencias entre jQuery position() y o set() para obtener coordenadas de elementos
(https://www.anerbarrena.com/diferencias-jquery-position-o set-5284/)
P U B L I C I DA D
Ú LT I M O S P O S T
https://www.anerbarrena.com/mysql-create-index-5281/ 6/11
13/11/2018 MySQL CREATE INDEX: Crear o añadir índices en tablas
(https://www.anerbarrena.com/php-round-redondeo-decimales-6994/)
(https://www.anerbarrena.com/php-array_unique-6630/)
Cómo redireccionar urls sin www a urls con www con htaccess (https://www.anerbarrena.com/redireccionar-urls-sin-www-a-urls-con-www-
htaccess-6389/)
Aner Barrena (https://www.anerbarrena.com/author/aner-barrena/) 7 agosto, 2018
https://www.anerbarrena.com/mysql-create-index-5281/ 7/11
13/11/2018 MySQL CREATE INDEX: Crear o añadir índices en tablas
(https://www.anerbarrena.com/redireccionar-urls-sin-www-a-urls-con-www-htaccess-6389/)
(https://www.anerbarrena.com/dns-prefetch-optimizar-carga-web-6280/)
Cómo hacer
responsive vídeos
de Youtube, Vimeo
y similares en
iframes
https://www.anerbarrena.com/mysql-create-index-5281/ 8/11
13/11/2018 MySQL CREATE INDEX: Crear o añadir índices en tablas
(https://www.anerb
responsive-videos-
youtube-iframe-
6225/)
Aner Barrena
(https://www.anerb
barrena/)
25 julio, 2018
(https://www.anerbarrena.com/hacer-responsive-videos-youtube-iframe-6225/)
P U B L I C I DA D
TOP POST
OTRAS WEBS
Egocast (http://www.egocast.es/)
Carpinteria Zaballa (http://www.carpinteriazaballa.com)
Palas de pádel (https://www.paddelea.com/palas-padel/modelos/todas/)
Zapatillas de pádel (https://www.paddelea.com/zapatillas-padel/modelos/todas/)
Zapatillas de running (https://www.runnea.com/zapatillas-running/modelos/todas/)
Black Friday Padel (https://www.paddelea.com/black-friday-padel/)
Black Friday running (https://www.runnea.com/black-friday-running/)
TA G S
https://www.anerbarrena.com/mysql-create-index-5281/ 10/11
13/11/2018 MySQL CREATE INDEX: Crear o añadir índices en tablas
robots.txt (https://www.anerbarrena.com/etiquetas/robots-txt/)
script (https://www.anerbarrena.com/etiquetas/script/)
Sitemap (https://www.anerbarrena.com/etiquetas/sitemap/)
C AT E G O R Í A S
Copyright @ Aner Barrena . Powered by WordPress and Valenti theme. Iconos diseñados por Freepik (http://www.freepik.com)
https://www.anerbarrena.com/mysql-create-index-5281/ 11/11