Si una columna es de tipo int, ¿aún necesita indexarse para que la consulta de selección se ejecute más rápido?índice de mysql en la columna del tipo int
SELECT *
FROM MyTable
WHERE intCol = 100;
Si una columna es de tipo int, ¿aún necesita indexarse para que la consulta de selección se ejecute más rápido?índice de mysql en la columna del tipo int
SELECT *
FROM MyTable
WHERE intCol = 100;
Probablemente sí, a menos que
En cuyo caso, un escaneo de tabla puede tener más sentido de todos modos, y el optimizador puede optar por hacer uno. En la mayoría de los casos tener un índice no es muy dañino, pero definitivamente debes probarlo y verlo (en tu laboratorio, en un hardware de producción con un conjunto de datos similar a la producción)
Sí lo hace. No importa qué tipo de datos tenga una columna. Si no especifica un índice, mysql tiene que escanear toda la tabla en cualquier momento que esté buscando un valor con esa columna.
Sí, un índice en cualquier columna puede hacer que la consulta rinda más rápido independientemente del tipo de datos. Los datos en sí son lo que importa; no tiene sentido usar un índice si solo hay dos valores actualmente en el sistema.
También tenga en cuenta que:
+1: Información extra :) – shamittomar
"MySQL también solo permite un índice por SELECT, y tiene una cantidad limitada de espacio para los índices "- ¡¿NO ?! (O simplemente te estoy malinterpretando. ¿Quieres citar algún documento que indique esto tal vez?) – yankee
@yankee: Cuando ves el plan EXPLAIN, MySQL solo puede usar un índice por afirmación que ve EXPLAIN. Una subconsulta sería un SELECT por separado, por ejemplo. –
Sí, el punto de los índices es que los crea por primary key
o al agregar el índice a mano. El tipo de la columna no dice nada sobre la velocidad de la consulta.
Sí, tiene que estar indexado. No tiene sentido indexar columnas tinyint
si se usan como booleanas, porque este índice no será lo suficientemente selectivo.
Quizás no en boolean hasta donde yo estoy informado. P.ej. Ver esto: http://stackoverflow.com/questions/10524651/is-there-any-performance-gain-in-indexing-a-boolean-field – dennis