Que vous disposiez d'un petit espace de base de données gratuit ou d'un grand site de commerce électronique, il est essentiel que la base de données conçoive raisonnablement la structure des tables et utilise pleinement l'espace. Cela nous oblige à avoir une compréhension complète et une application raisonnable des types de données courants dans les systèmes de bases de données. Ci-dessous, nous vous présenterons quelques expériences et expériences, dans l'espoir de vous aider à réfléchir de manière plus rationnelle lors de la création d'une base de données.
1. Type de numéro
Les types numériques sont divisés en trois catégories selon ma méthode de classification : les types entiers, les types décimaux et les types numériques.
Ce que j'appelle « classes numériques » fait référence à DECIMAL et NUMERIC, qui sont du même type. Ce n'est pas strictement un type numérique, car ils stockent en fait des nombres sous forme de chaînes ; chaque chiffre de sa valeur (y compris le point décimal) occupe un octet d'espace de stockage, ce type consomme donc beaucoup d'espace pour la comparaison. Cependant, l'un de ses avantages remarquables est que les chiffres décimaux sont fixes et ne seront pas « déformés » pendant les opérations. Il est donc plus adapté aux champs tels que « prix » et « montant » qui ne nécessitent pas une grande précision mais nécessitent une très grande précision. précision.
Le type décimal, c'est-à-dire le type nombre à virgule flottante, a deux types, FLOAT et DOUBLE, en fonction de la précision. Leur avantage est la précision. FLOAT peut représenter des décimales avec de très petites valeurs absolues, aussi petites qu'environ 1,17E-38 (0,000...0117, il y a 37 zéros après la virgule décimale), tandis que DOUBLE peut représenter des valeurs absolues aussi petites. comme approximativement 2,22E-308 (0,000...0222, 307 zéros après la virgule décimale) sous forme décimale. L'espace de stockage occupé par le type FLOAT et le type DOUBLE est respectivement de 4 octets et 8 octets. Si vous devez utiliser des champs décimaux et que la précision n'est pas élevée, utilisez bien sûr FLOAT. Mais pour être honnête, comment nos données « civiles » peuvent-elles exiger une telle précision ? Je n'ai pas encore utilisé ces deux types - je n'ai rencontré aucun cas approprié pour leur utilisation ?
Le type le plus utilisé et celui qui mérite le plus d’être calculé avec soin est le type entier. De TINYINT, qui n'occupe qu'un octet d'espace de stockage, à BIGINT, qui occupe 8 octets, le choix d'un type « suffisant » et occupant le plus petit espace de stockage doit être pris en compte lors de la conception de la base de données. TINYINT, SMALLINT, MEDIUMINT, INT et BIGINT occupent respectivement un espace de stockage de 1 octet, 2 octets, 3 octets, 4 octets et 8 octets. Quant aux entiers non signés, les entiers maximum que ces types peuvent représenter sont respectivement 255, 65535, 16777215. , 4294967295 et 18446744073709551615. S'il est utilisé pour enregistrer l'âge de l'utilisateur (par exemple, il n'est pas conseillé de sauvegarder l'âge dans la base de données), TINYINT suffit ; dans « Zongheng » de Jiucheng, SMALLINT suffit pour chaque valeur de compétence si vous souhaitez utiliser Make ; le champ IDENTIFY de AUTO_INCREMENT dans une table qui ne dépassera certainement pas 16 000 000 de lignes. Bien sûr, utilisez MEDIUMINT au lieu de INT. Imaginez, chaque ligne enregistre 16 000 000 de lignes peut économiser plus de 10 mégaoctets.