Pues eso que cual es la diferencia entre que una celda de una tabla mysql sea index o primary key
Gracias.
| |||
Diferencia entre index y primary key Pues eso que cual es la diferencia entre que una celda de una tabla mysql sea index o primary key Gracias.
__________________ SimDalom.com ¿Cómunicación Multimedia? Nosotros nos encargamos de eso, y tú... preocupate de lo importante |
| |||
Agradecería con toda el alma una respuesta eh??
__________________ SimDalom.com ¿Cómunicación Multimedia? Nosotros nos encargamos de eso, y tú... preocupate de lo importante |
| |||
Respuesta: Diferencia entre index y primary key Yo también tengo esa duda, por favor podrían poner un ejempolo en que momento o como usan los índices. ------------------------------------------------------------------------ El conocimiento es de todos |
| |||
Respuesta: Diferencia entre index y primary key A ver... PRIMARY KEY solo hay una por tabla, puede ser simple o compuesta, simple cuando esta formada por un solo campo y compuesta cuando lo es de varios... En ese campo o conjunto de campos tiene que tener un valor que no se repetirà en ningun otro registro de la tabla... el motor de bases de datos crea un indice único sobre la primary key. INDICES pueden haber muchos en una misma tabla, pueden ser unicos o no, si son unicos son PRIMARY KEY alternativas. Totdos sirven para buscar mas rápido los registros.... Quim |
| |||
Respuesta: Diferencia entre index y primary key Como se usan los índices.... no he puesto nada al respecto completo la respuesta. En principio el motor de bbdd y su optimizador de consultas usará los índices que crea mas convenientes en función de la consulta y de los índices que tenga creados, por tanto que no se indique nada no implica que no se usen los índices. Sin embargo en las ocasiones en que no se obtiene un buen rendimiento existe la posibilidad de "ayudar" al optimizador indicando que índices usar, se estará forzando el uso del índice aquí tenéis el link al manual al respecto 12.2.8.2. Index Hint Syntax. Todos los motores tienen en mayor o menor grado instrucciones para pedir que el motor te muestre como ha ejecutado una consulta, en mysql es 12.3.2. EXPLAIN Syntax con esta instrucción se puede ver que índices ha usado, al menos en ORACLE (alli se llama EXPLAIN PLAN). Analizando la información que da este tipo de instrucciones se puede modificar las sentencia de query llegando a obtener mejoras de rendimiento sorprendentes. En el caso de MySql la información es bastante pobre. La optimización de la elección de que índices crear depende mucho de el tipo de consultas a realizar y de la dispersión de los datos. Tipo de consultas, ejemplo si se va a consultar los datos por fechas pues será muy conveniente tener creado un índice, que no podrá ser único, sobre el campo donde se guarda la fecha.... Un campo bolean (verdadero/falso) como mucho va a dividir los datos en dos grupos, el conocimiento de los datos nos debe decir si será de utilidad crear un índice sobre un campo de este tipo... imaginemos que el 90% los registros son verdaderos y que solo vamos a hacer consultas sobre los falsos, en este caso el índice podría ayudar ya que limitara la búsqueda en un 10% de los registros, en cambio si vamos a consultar sobre los verdaderos no servirá de nada puesto que solo discrimina un 10% de registros. Siguiendo con la teoría la elección del tipo de índice, tabla hash o btree..., también dependerá de la dispersión de los datos, de numero de repeticiones de los valores etc donde un tipo de índice será más eficiente que otro por su estructura interna.... la teoría es larga y a mi entender apasionante. Uffff que rollo he soltado!!!! Quim Última edición por quimfv; 21/07/2009 a las 06:31 |