sql >> Base de Datos >  >> RDS >> Mysql

¿Sería útil agregar un índice a la columna BIGINT en MySQL?

Si tiene una tabla muy grande, la búsqueda de valores que no están indexados puede ser extremadamente lenta. En términos de MySQL, este tipo de consulta termina siendo un "análisis de tabla", que es una forma de decir que debe probar secuencialmente cada fila de la tabla. Obviamente, esta no es la mejor manera de hacerlo.

Agregar un índice ayudará con leer velocidades, pero el precio que paga es un poco más lento write velocidades Siempre hay una compensación al realizar una optimización, pero en su caso, la reducción en el tiempo de lectura sería inmensa, mientras que el aumento en el tiempo de escritura sería marginal.

Tenga en cuenta que agregar un índice a una tabla grande puede llevar una cantidad de tiempo considerable, así que pruébelo con los datos de producción antes de aplicarlo a su sistema de producción. Es probable que la tabla se bloquee mientras dure ALTER TABLE declaración.

Como siempre, usa EXPLAIN en sus consultas para determinar su estrategia de ejecución. En tu caso sería algo como:

EXPLAIN SELECT * FROM table1 WHERE my_big_number=19287319283784