Ya sea que tenga un pequeño espacio de base de datos gratuito o un gran sitio web de comercio electrónico, es muy necesario que la base de datos diseñe razonablemente la estructura de la tabla y aproveche al máximo el espacio. Esto requiere que tengamos una comprensión completa y una aplicación razonable de los tipos de datos comunes en los sistemas de bases de datos. A continuación, le presentaremos algunas experiencias y experiencias, con la esperanza de ayudarlo a pensar de manera más racional al crear una base de datos.
1. tipo de número
Los tipos numéricos se dividen en tres categorías según mi método de clasificación: tipos enteros, tipos decimales y tipos numéricos.
Lo que yo llamo "clases numéricas" se refiere a DECIMAL y NUMERIC, que son del mismo tipo. No es estrictamente un tipo numérico, porque en realidad almacenan números en forma de cadenas; cada dígito de su valor (incluido el punto decimal) ocupa un byte de espacio de almacenamiento, por lo que este tipo consume mucho espacio para realizar comparaciones. Sin embargo, una de sus ventajas destacadas es que los dígitos decimales son fijos y no se "distorsionarán" durante las operaciones, por lo que es más adecuado para campos como "precio" y "cantidad" que no requieren alta precisión pero sí muy alta. exactitud.
El tipo decimal, es decir, el tipo de número de coma flotante, tiene dos tipos, FLOAT y DOUBLE, según la precisión. Su ventaja es la precisión. FLOAT puede representar decimales con valores absolutos muy pequeños, tan pequeños como aproximadamente 1.17E-38 (0.000...0117, hay 37 ceros después del punto decimal), mientras que DOUBLE puede representar valores absolutos tan pequeños. como aproximadamente 2,22E-308 (0,000...0222, 307 ceros después del punto decimal) como decimal. El espacio de almacenamiento ocupado por el tipo FLOAT y el tipo DOUBLE es de 4 bytes y 8 bytes respectivamente. Si necesita utilizar campos decimales y la precisión no es alta, utilice FLOAT, por supuesto. Pero, para ser honesto, ¿cómo es posible que nuestros datos "civiles" requieran una precisión tan alta? Hasta ahora no he usado estos dos tipos; no he encontrado ningún caso adecuado para usarlos.
El tipo más utilizado, y el que más merece un cálculo cuidadoso, es el tipo entero. Desde TINYINT, que solo ocupa un byte de espacio de almacenamiento, hasta BIGINT, que ocupa 8 bytes, se debe considerar elegir un tipo que sea "suficiente" y ocupe el menor espacio de almacenamiento al diseñar la base de datos. TINYINT, SMALLINT, MEDIUMINT, INT y BIGINT ocupan un espacio de almacenamiento de 1 byte, 2 bytes, 3 bytes, 4 bytes y 8 bytes respectivamente. En cuanto a los enteros sin signo, los enteros máximos que estos tipos pueden representar son respectivamente 255, 65535, 16777215. , 4294967295 y 18446744073709551615. Si se usa para guardar la edad del usuario (por ejemplo, no es recomendable guardar la edad en la base de datos), TINYINT es suficiente; en "Zongheng" de Jiucheng, SMALLINT es suficiente para cada valor de habilidad si desea usar Make; el campo IDENTIFY de AUTO_INCREMENT en una tabla que definitivamente no excederá las 16.000.000 de filas. Por supuesto, use MEDIUMINT en lugar de INT. Imagínese, cada fila guarda un byte y puede ahorrar más de 10 megabytes.