¿Cuáles son las especificaciones de diseño para el diseño de bases de datos?
1. Especificaciones del comando de la base de datos
Todos los nombres de los objetos de la base de datos deben estar en letras minúsculas y separados por guiones bajos.
Se prohíbe el uso de palabras clave reservadas de MySQL en todos los nombres de objetos de la base de datos (si el nombre de la tabla contiene la consulta de palabras clave, debe estar entre comillas simples).
La denominación de los objetos de la base de datos debe poder identificar el nombre y el significado, y no debe exceder los 32 caracteres.
La tabla de base de datos temporal debe tener el prefijo tmp_ y fecha como sufijo. La tabla de respaldo debe tener el prefijo bak_ y fecha (marca de tiempo) como sufijo.
Todos los nombres y tipos de columnas que almacenan los mismos datos deben ser consistentes (generalmente como columnas relacionadas, si los tipos de columnas relacionadas son inconsistentes durante el proceso de consulta, el tipo de datos se convertirá automáticamente de manera implícita, lo que resultará en un índice en la columna Inefectivo y reducirá la eficiencia de la consulta).
2. Especificaciones básicas de diseño de la base de datos
1. Todas las tablas deben utilizar el motor de almacenamiento Innodb.
No hay requisitos especiales (es decir, funciones que Innodb no puede cumplir, como almacenamiento de columnas y almacenamiento de datos espaciales, etc.). Todas las tablas deben utilizar el motor de almacenamiento Innodb (Myisam e Innodb son utilizados por). predeterminado antes de mysql5.5) después de 5.6, Innodb se usa de manera predeterminada) para admitir transacciones, admitir bloqueo a nivel de fila y tener una mejor capacidad de recuperación y un mejor rendimiento en condiciones de alta concurrencia.
2.UTF8 es el juego de caracteres utilizado para bases de datos y tablas.
Mejor compatibilidad. Un conjunto de caracteres unificado puede evitar caracteres confusos causados por la conversión del conjunto de caracteres. Si es necesario convertir diferentes conjuntos de caracteres antes de la comparación, el índice no será válido.
3. Todas las tablas y campos requieren comentarios.
Utilice la cláusula de comentarios para agregar comentarios a tablas y columnas. Mantener el diccionario de datos desde cero.
4. Intente controlar la cantidad de datos en una sola tabla. Se recomienda controlarla dentro de los 5 millones.
Cinco millones de yuanes no es el límite para la base de datos MySQL. Demasiado causará grandes problemas al modificar la estructura de la tabla, la copia de seguridad y la recuperación.
Puede utilizar el archivo de datos históricos (aplicados a datos de registro), subbases de datos y subtablas (aplicados a datos comerciales) para controlar el tamaño de los datos.
5. Utilice las tablas de particiones MySQL con precaución.
Una tabla de particiones se representa físicamente como varios archivos y lógicamente como una tabla. Elija la clave de partición con cuidado; las consultas entre particiones pueden ser menos eficientes. Se recomienda gestionar big data a través de particiones físicas.
6. Intente separar los datos fríos y calientes y reduzca el ancho de la tabla.
MySQL limita cada tabla para almacenar 4096 columnas y el tamaño de cada fila de datos no puede exceder los 65 535 bytes para reducir la E/S del disco y garantizar la tasa de aciertos de los datos activos en la memoria caché (la tabla es más ancha, cuanta más memoria se ocupa al cargar la tabla en el grupo de búfer de memoria, también consume más IO), un uso más eficiente del caché y evitar la lectura en una tabla de columnas inútiles que a menudo se usan con datos fríos (para evitar más operaciones asociadas). ).