tipo de datos optimizar MySQL

1. Cuanto más pequeño es generalmente mejor

Selección de un tipo de rango mínimo no exceda

2. Bastante simple

Por ejemplo, la operación de número entero es menor que el costo del carácter, puesto que el conjunto de caracteres y la colación (intercalación) para hacer la comparación más complicado que la conformación de comparación carácter.

3. Trate de evitar nula

Si la consulta contiene la columna puede ser nulo, optimizado para MySQL es más difícil, porque el índice puede hacerse columnas nulos, índices y comparación de valor estadístico es más complicado.

Más espacio de almacenamiento se puede utilizar para columnas nulas en el mysql también requieren un manejo especial. Cuando el índice puede ser columnas nulos, cada índice requiere un registro byte adicional, incluso en el myisam puede resultar en un índice de un tamaño fijo (por ejemplo, solamente un índice de la columna número entero) se convierte en un índice de tamaño variable.

Por lo general, se puede cambiar para llevar a rendimiento de la columna no nula nula es relativamente pequeño, por lo que no es necesario sintonía primero en encontrar y editar a cabo el caso en el esquema existente. A menos que esté seguro de que esto puede causar problemas. Sin embargo, si va a crear un índice en la columna, se debe evitar diseñado para ser lo más columnas nulas.

Hay excepciones, InnoDB utiliza un valor nulo almacenamiento de bits por separado, por lo que es bueno para escasa eficiencia del espacio de datos. Pero esto no se aplica a MyISAM.

 

4. Tipo de número entero:

tinyint (8), smallint (16), MEDIUMINT (24), int (32), bigint (64)

MySQL puede especificar los tipos enteros de anchura, como int (11), para la mayoría de las aplicaciones que no tiene sentido: no limita el alcance de valor legal, pero ofrece una serie de herramientas de MySQL interactiva (por ejemplo, el cliente de línea de comandos mysql) con para visualizar el número de caracteres.

Real Tipo:

No sólo para el almacenamiento de la parte fraccionaria; puede utilizarse bigint más grande que el número entero decimal almacenado. soporta MySQL tanto el tipo exacto, y también es compatible con el tipo imprecisa.

flotar y dobles, están apoyados directamente cálculos de punto flotante de la CPU, que es significativamente más rápido de operaciones de coma flotante.

Tipo decimal exacto para almacenar un número decimal.

Y decimal tipo de punto flotante puede ser una precisión especificada. Para la columna decimal, puede especificar el número máximo de dígitos permitidos antes y después del punto decimal. Esto afecta el consumo de columna espacial. MySQL 5.0 y posteriormente guardados en una cadena binaria packed digitales (4 bytes por la memoria 9 dígitos). Por ejemplo, cada decimal memoria (18,9) en ambos lados de nueve dígitos decimales, usando un total de nueve bytes: dígito antes del punto decimal de 4 bytes, el número después de la coma decimal 4 bytes, uno sí mismo decimal byte.

Existen múltiples formas de especificar las columnas deseadas precisión de punto flotante, lo que haría en silencio MySQL seleccionar diferentes tipos de datos, o los valores se almacenan en la elección. La exactitud de la definición no es estándar, por lo que se recomienda sólo el desarrollo del tipo de datos se especifica la precisión.

Debido al espacio extra y el cálculo de gastos generales, por lo que debe tratar de utilizar los datos financieros del almacén solamente decimales, como sólo cuando los ratones fueron cálculo exacto. En mayor cantidad de datos, que pueden considerarse en lugar de bigint con decimal, la necesidad de almacenar la unidad de moneda se puede multiplicar por el correspondiente múltiplo del número de bits de la decimal.

 

Supongo que te gusta

Origin www.cnblogs.com/lccsblog/p/12632145.html
Recomendado
Clasificación