Indices en MySql

En primer lugar te envío un saludo y mi agradecimiento por tu tiempo.
Deseo saber si me puedes ayudar con lo siguiente: Necesito generar una
Tabla con un índice que ocupe varios campos. ¿Los indices se declaran
Junto con la creación de la tabla o sólo se declara la sintaxis
Correspondiente en índice y automáticamente la tabla usará en índice
¿Creado? ¿Me podrías enviar la sintaxis de un ejemplo real sobre cómo crear
¿La tabla y el índice por que no entiendo el manual de la página de MySql?
¿Qué tan cierto es que el orden en que se declaran los campos en el índice
Es el mismo orden en que de deben usar para que la consulta use el índice
¿Y no lo ignore? ¿Tienes alguna recomendación o consideración sobre la que
Deba poner especial atención en el manejo de los índices para hacerlos más
¿Eficientes?
Agradezco mucho tu tiempo y tus atenciones.
Cordialmente
Calós González
[email protected]
www.portalautomotriz.com

1 respuesta

Respuesta
1
Para crear claves con más de un campo es tan fácil como esto:
CREATE TABLE `prueba` (
`rfefd` VARCHAR( 4 ) NOT NULL ,
`rere` VARCHAR( 4 ) NOT NULL ,
`re` VARCHAR( 4 ) NOT NULL ,
PRIMARY KEY ( `rfefd` , `rere` )
);
Si quieres modificar una tabla pues haz esto:
ALTER TABLE `prueba` DROP PRIMARY KEY ,
ADD PRIMARY KEY ( `rfefd`, `rerep );
Sobre lo del orden de los indices, no tiene ningún sentido. Si funciona, pero hay que tener en cuenta que en las versiones de MySQL que no usan claves ajenas, debemos hacer la comparación a mano, y con más de un campo de clavo, debemos hacer la comparación con todos los campos.
Sobre la optimización, no me he metido mucho en esos temas. Normalmente se pueden crear indices, aunque no sean claves primarias, para campos en los que sea una columna muy usada a la hora de hacer selects. Ademas, si es una columna unique, el indice es creado solo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas