Hola a todos!!!
Bueno es que tengo una duda con los index de esta tabla:
tabla1
Código:
CREATE TABLE caracteristicas (
usr_id INT(10) NOT NULL,
nombre VARCHAR(80) NOT NULL,
apellidos VARCHAR(80) NOT NULL,
correo VARCHAR(80) NOT NULL,
edad INT(2) NOT NULL,
genero CHAR(1) NOT NULL,
fecha_nacimiento DATE NULL,
fecha_ingreso DATE NOT NULL,
dep_id INT(3) NOT NULL,
ciud_id INT(3) NOT NULL,
busco INT(1) NOT NULL,
soporte_correo INT(1) NULL,
PRIMARY KEY(usr_id),
INDEX caracteristicas_FKIndex1(usr_id),
INDEX caracteristicas_FKIndex2(dep_id),
INDEX caracteristicas_FKIndex3(ciud_id),
INDEX caracteristicas_edad(edad, genero, busco)
)
TYPE=InnoDB;
tabla2
Código:
CREATE TABLE caracteristicas (
usr_id INT(10) NOT NULL,
nombre VARCHAR(80) NOT NULL,
apellidos VARCHAR(80) NOT NULL,
correo VARCHAR(80) NOT NULL,
edad INT(2) NOT NULL,
genero CHAR(1) NOT NULL,
fecha_nacimiento DATE NULL,
fecha_ingreso DATE NOT NULL,
dep_id INT(3) NOT NULL,
ciud_id INT(3) NOT NULL,
busco INT(1) NOT NULL,
soporte_correo INT(1) NULL,
PRIMARY KEY(usr_id),
INDEX caracteristicas_FKIndex1(usr_id),
INDEX caracteristicas_FKIndex2(dep_id),
INDEX caracteristicas_FKIndex3(ciud_id),
INDEX caracteristicas_edad(edad),
INDEX caracteristicas_genero(genero),
INDEX caracteristicas_busco(busco)
)
TYPE=InnoDB;
En la tabla 1 tengo los index en edad, los otros son de llaves foraneas, y en la tabla 2, tengo los index separados edad, genero, busco.
Mi duda es ¿¿Cual es mejor y por que?? ó ¿¿Todas dos es lo mismo?? y ¿¿Qué diferencias hay de la una a la otra??
De antemano muchas gracias!!