¿Qué es la indexación de mysql y cómo se crea un índice?

De acuerdo, indexación mysql. ¿La indexación no es más que tener una identificación única para cada fila que se utilizará en la cláusula WHERE?

Al indexar una tabla, ¿el proceso agrega información a la tabla? Por ejemplo, otra columna o valor en alguna parte.

¿La indexación ocurre sobre la marcha al recuperar valores o son valores colocados en la tabla como una función de inserción o actualización?

Se agradecería más información para explicar claramente la indexación de mysql. Y por favor, no solo coloque un enlace a la documentación de MySQL, es confuso y siempre es mejor obtener una respuesta personal de un profesional.

Lastly, why is indexing different from telling MySQL to look for values between two values. For Example: WHERE create_time >= 'AweekAgo'

Lo estoy preguntando porque una de mis tablas es de más de 220,000 filas y lleva más de un minuto devolver valores con una declaración de selección de MySQL muy simple y espero que la indexación acelere esto.

Gracias de antemano.

0
Sí, la indexación hará que su consulta sea mucho más rápida. Lea el documento: dev.mysql.com/doc/refman/ 5.0/es/mysql-indexes.html
agregado el autor Denys Séguret, fuente
Realmente ... no podrías darte tus propios pensamientos sobre esto. Crees que estaría escribiendo aquí si entendiera completamente ese documento. stackoverflow existe para no redirigir a las personas a algo que podrían fácilmente buscar en Google, en lugar de que las personas vengan y hagan una pregunta como si estuvieran hablando con un profesional. Gracias por no leer mi pregunta.
agregado el autor knittledan, fuente

3 Respuestas

Hay una gran cantidad de indexación, por ejemplo, un hash, un trie, un índice espacial. Depende del valor Lo más probable es que sea un hash y un árbol de búsqueda binario. Nada realmente lujoso porque lo más probable es que lo caro sea caro.

0
agregado

Un índice de base de datos es una estructura de datos que mejora la velocidad de las operaciones en una tabla. Los índices se pueden crear utilizando una o más columnas, proporcionando la base para búsquedas rápidas aleatorias y ordenamiento eficiente del acceso a los registros.

Puede crear un índice de esta manera:

CREATE INDEX index_name
ON table_name ( column1, column2,...);

Es posible que esté trabajando en una base de datos más compleja, por lo que es bueno recordar algunas reglas simples.

  • Los índices ralentizan las inserciones y las actualizaciones, por lo que debe usarlas cuidadosamente en las columnas que se actualicen con FRECUENCIA.

  • Los índices se aceleran donde las cláusulas y ordenan.

Para más detalles, puede leer:

http://dev.mysql.com/doc/refman/5.0 /en/mysql-indexes.html

http://www.tutorialspoint.com/mysql/mysql-indexes.htm

0
agregado

No votaste porque no hiciste ningún esfuerzo por leer o buscar lo que estás pidiendo. Una búsqueda simple en Google podría haberle mostrado los beneficios y las desventajas de Índice de base de datos . Aquí está una pregunta relacionada en StackOverflow . Estoy seguro de que hay numerosas preguntas como esa.

Para simplificar las jergas, sería más fácil ubicar libros en una biblioteca si organiza los estantes en numeración de acuerdo con su área de especialización. Puede decirle fácilmente a alguien que vaya a un lugar específico y elija el libro; eso es lo que hace el índice

Otro ejemplo: imagina una lista de admisión ordenada alfabéticamente. Si su nombre comienza con Z, salteará A a Y y llegará a Z, ¿más rápido? De lo contrario, tendrá que buscar y buscar, y tal vez ni siquiera lo encuentre si no miró cuidadosamente

0
agregado
Algunas de mis preguntas se pueden buscar fácilmente en Google, pero otras no solo intentan averiguarlo, así que vine a aclararme. Gracias por un poco más de aclaración
agregado el autor knittledan, fuente