Optimisation mysql - Si une table mysql ne peut pas garantir que les longueurs des colonnes de champ sont cohérentes, n'a-t-elle pas besoin d'utiliser char ?
PHP中文网
PHP中文网 2017-05-24 11:33:08
0
1
662

Dans un tableau de données, si la longueur de chaque colonne de données est fixe, alors la longueur de chaque ligne de données sera également fixe. Tant qu'il y a une longueur variable de colonne de données dans le tableau de données, alors chaque donnée La longueur de. les lignes sont variables. Si la longueur des lignes de données dans une certaine table de données est variable, alors, afin d'économiser de l'espace de stockage, MySQL convertira les colonnes de données de longueur fixe dans la table de données en type de longueur variable correspondant, les colonnes de données char d'une longueur inférieure à 4 caractères ne seront pas converties en type varchar

Si un champ dans une table est varchar, est-il toujours judicieux de créer un champ char dans cette table ?

PHP中文网
PHP中文网

认证0级讲师

répondre à tous(1)
伊谢尔伦

Tout d’abord, vous devez comprendre la différence entre char et varchar.
1. La longueur de CHAR est fixe, mais la longueur de VARCHAR2 peut être modifiée. Par exemple, pour stocker la chaîne "abc", pour CHAR (10), cela signifie que les caractères que vous stockez occuperont 10 octets (dont 7 caractères nuls). . Le même VARCHAR2 (10) n'occupe qu'une longueur de 3 octets, et 10 n'est que la valeur maximale. Lorsque les caractères que vous stockez sont inférieurs à 10, ils sont stockés en fonction de la longueur réelle.
2. CHAR est légèrement plus efficace que VARCHAR2.
3. Actuellement, VARCHAR est synonyme de VARCHAR2. Le type VARCHAR standard de l'industrie peut stocker des chaînes vides, mais Oracle ne le fait pas, bien qu'il se réserve le droit de le faire à l'avenir. Oracle a développé un type de données VARCHAR2. Ce type n'est pas un VARCHAR standard. Il modifie la fonctionnalité selon laquelle la colonne varchar de la base de données peut stocker des chaînes vides pour stocker des valeurs NULL. Si vous souhaitez une compatibilité ascendante, Oracle recommande d'utiliser VARCHAR2 au lieu de VARCHAR.
Quand devez-vous utiliser CHAR et quand devez-vous utiliser varchar2 ?
CHAR et VARCHAR2 sont une unité contradictoire, et les deux sont complémentaires.
VARCHAR2 économise de l'espace que CHAR, mais est légèrement moins efficace que CHAR C'est-à-dire que pour gagner en efficacité, une certaine quantité d'espace doit être sacrifiée. ce que nous appelons souvent « l'espace d'échange contre l'efficacité » dans la conception de bases de données.
Bien que VARCHAR2 économise de l'espace par rapport à CHAR, si une colonne VARCHAR2 est fréquemment modifiée et que la longueur des données modifiées est différente à chaque fois, cela provoquera un phénomène de « migration de ligne », qui entraînera des E/S redondantes. Cela doit être évité. dans la conception et l'ajustement de la base de données. Dans ce cas, il serait préférable d'utiliser CHAR au lieu de VARCHAR2.
Cette réponse est extraite de la réponse de Baidu https://zhidao.baidu.com/ques...
Je pense que la réponse est très détaillée

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!