Red de conocimientos sobre prescripción popular - Conocimiento dental - Cómo ahorrar espacio de almacenamiento en disco de la base de datos

Cómo ahorrar espacio de almacenamiento en disco de la base de datos

Esta es una pregunta clásica.

Si se utiliza tipo int (incremento automático o incremento manual), GUID o combo.

Tener en cuenta estas cuestiones no es más que considerar la eficiencia y la facilidad de uso. La siguiente es una comparación de las ventajas y desventajas de cuatro métodos de generación de claves principales:

Campos de crecimiento automático

Ventajas: 1. Sencillo y fácil de usar.

Desventajas: 1. Diferentes bases de datos obtienen los valores actuales de diferentes maneras;

2. Es difícil aplicar la migración de datos entre múltiples bases de datos.

3. No se puede recolectar

Campo de crecimiento artificial

Ventajas: 1. Puede obtener el valor clave más reciente.

2. Puede garantizar que no habrá conflictos clave-valor durante el proceso de fusión de datos.

Desventaja 1. Por lo general, es necesario establecer una tabla separada para almacenar el valor de la clave principal actual;

2. Agregar acceso a la base de datos para obtener el valor de la clave principal actual

3. aumentar la complejidad del sistema.

4. No se puede recopilar

Usar GUID

Ventajas: 1. Genere GUID directamente, obtenga el último valor de clave para completar la clave principal, fácil de usar

2. Puede garantizar que no habrá conflictos de valores de clave durante el proceso de fusión de datos;

3. Evita los dos primeros. Este método obtiene el costo del valor clave actual.

Desventaja 1. Ocupa más espacio de almacenamiento;

2. La indexación requiere mucho tiempo;

3. La consulta de enlace de varias tablas no es tan eficiente como el tipo int.

Utilizar el tipo "peine"

Ventajas 1. Conservar las ventajas existentes de GUID;

2. Combinar información de tiempo con GUID y aumentar el orden para mejorar la eficiencia de la indexación.

Desventaja 1. Es necesario diseñar el algoritmo de generación de peines;

2. Ocupa más espacio de almacenamiento como GUID

3. La eficiencia de la consulta de enlaces de varias tablas no es tan buena como la de int. , pero mejor que GUID.

Como se puede ver en la comparación de la tabla anterior, el foco del problema es si usar cirugía plástica con alta eficiencia pero poca controlabilidad y portabilidad, o usar cirugía plástica con alta controlabilidad y portabilidad pero baja eficiencia y gran capacidad de almacenamiento. La clave primaria de tipo carácter realmente no puede quedarse con el pastel y comérselo también. (COMB requiere diseñar un algoritmo de generación, lo que aumenta la complejidad del programa. Si el algoritmo es incorrecto, se producirán resultados inesperados. GUID también puede mejorar el rendimiento al optimizar los índices, por lo que COMB no se utiliza por el momento).

Desde la base de datos Desde una perspectiva, aunque remodelar las consultas es la más eficiente, existen grandes problemas en la fusión y el trasplante de datos. Al mismo tiempo, en condiciones de alta concurrencia, varios métodos de generación de plástico enfrentan este problema, que no favorece el procesamiento de agrupación. El tipo de carácter generado por GUID puede resolver problemas de integración y concurrencia, pero ocupa mucho espacio y tiene baja eficiencia de consulta, lo que puede convertirse en un problema después de ejecutar el sistema.

Desde la perspectiva del desarrollo del programa, es muy conveniente generar la clave primaria mediante la generación plástica, pero la clave primaria solo se puede obtener de la base de datos después de que se complete toda la transacción. Al mismo tiempo, al guardar una tabla de múltiples asociaciones, primero debe guardar la tabla principal y pasar la clave primaria generada a la tabla de palabras. Esto también causará una pérdida de rendimiento y la clave primaria no se puede obtener directamente. lo que aumenta la complejidad del desarrollo y procesamiento del programa. Las claves primarias basadas en caracteres requieren que los programadores definan las reglas para generar claves primarias e intervengan en la generación de claves primarias, pero las claves primarias se pueden obtener antes de insertarlas en la base de datos para facilitar el procesamiento del programa.

Desde la perspectiva de los datos del sistema, puede haber mucha concurrencia en los datos comerciales, por lo que es muy conveniente usar GUID y se puede agrupar fácilmente cuando el tamaño de los datos es grande. La cantidad de datos de archivo concurrentes es pequeña, pero la cantidad de referencias es grande y hay muchos casos de fusión e integración de datos. No es apropiado utilizar números enteros en su totalidad y el uso de GUID en su totalidad resultará en una pérdida de rendimiento. Se necesita una solución más comprometida, que no sólo garantice el uso de cadenas controlables e identificadas de forma única, sino que también minimice el número de bytes ocupados por las cadenas. En cuanto a los datos auxiliares del sistema, deben usarse de manera flexible de acuerdo con la situación real y no deben estar unificados rígidamente cuando la cantidad de datos no sea grande, intente darles la mayor forma posible.