Uso de tablas de base de datos
- Todas las tablas de MySQL creadas deben usar el motor InnoDB.
- El tipo decimal debe ser DECIMAL. No utilice FLOAT o DOUBLE.
FLOAT y DOUBLE tienen menor precisión que DECIMAL y pueden causar errores de redondeo. Si un valor que se va a almacenar está más allá del rango de DECIMAL, divida el valor en piezas INTEGER y DECIMAL y guárdelas por separado.
- No se pueden usar las siguientes palabras reservadas: desc, range, match, y delayed. Para obtener más información, consulte el sitio web oficial de MySQL.
- Cada tabla de datos puede tener una clave principal. La clave principal puede ser un campo ordenado y único relacionado con el negocio o un campo de aumento automático no relacionado con el negocio.
- Cada campo de tabla debe tener un valor predeterminado y NOT NULL. Si el campo es el tipo numérico, utilice 0 como valor predeterminado. Si el campo es el tipo de carácter (como VARCHAR), utilice una cadena vacía (").
Ninguna clave principal puede provocar una ejecución lenta de la base de datos principal y un retraso en la replicación.
- No se recomienda utilizar tablas particionadas. Si es necesario, utilice varias tablas independientes.
Desventajas de las tablas particionadas:
- Todas las particiones se bloquearán durante las operaciones DDL. Como resultado, se bloquearán las operaciones en las particiones.
- Cuando una tabla particionada contiene una gran cantidad de datos, es difícil y arriesgado realizar DDL u otras operaciones de O&M en la tabla.
- Rara vez se utilizan tablas de particiones, lo que puede causar riesgos desconocidos.
- Cuando un solo servidor tiene un rendimiento deficiente, dividir una tabla particionada es costoso.
- Cuando se accede a todas las particiones debido a operaciones incorrectas en una tabla particionada, pueden producirse problemas de rendimiento graves.
- Cada tabla contiene dos campos DATETIME: create_time y update_time.
Puede obtener los datos requeridos de un almacén de datos basado en estos dos campos sin necesidad de consultar servicios.
Cuando se produce una excepción en la base de datos, puede utilizar los dos campos para determinar la hora en que se insertan y actualizan los datos. En casos extremos, puede determinar si desea restaurar los datos basándose en los campos.
- La división solo se recomienda cuando el número de filas en una sola tabla supera los 5 millones o el tamaño de una sola tabla supera los 2 GB.
- VARCHAR es un tipo de datos de carácter de longitud variable. La longitud de VARCHAR no puede superar 2,048.
Si la longitud de un campo es superior a 2,048, defina el tipo de campo como TEXT o cree una tabla independiente y utilice una clave principal para asociar las tablas relacionadas. De esta manera, la eficiencia del índice de otros campos no se ve afectada.
- La longitud de una sola fila de una tabla no puede exceder de 1,024 bytes y el número de filas de una sola tabla no puede exceder de 5 millones.
- El número máximo de campos en una sola tabla es de 50.
- Si las longitudes de las cadenas son casi iguales, utilice las cadenas de caracteres de longitud fija.
- En la premisa de garantizar la coherencia de los datos, se permite que los campos redundantes de tablas cruzadas eviten las consultas asociadas y mejoren el rendimiento de las consultas.
Los campos redundantes deben cumplir con las siguientes reglas:
- Los campos no se modifican con frecuencia.
- Los campos no son más grandes VARCHAR y TEXT.
- Los tipos de datos con el tamaño de almacenamiento adecuado pueden ahorrar espacio de almacenamiento de tablas de base de datos e índice, al tiempo que mejoran la velocidad de búsqueda. No se recomiendan LONG TEXT y BLOB.