· BLOB/TEXT
Dans les applications réelles, il est souvent nécessaire de stocker deux types de données plus volumineuses, par exemple une image de 10 M, et l'autre est un texte plus grand, par exemple un article de dizaines de milliers. de mots. Dans Oracle, il existe BOLB et CLOB pour traiter ces deux types de données, tandis que dans MySQL ils correspondent à BLOB et TEXT
Compte tenu de la particularité de ces deux types de données, le stockage et le fonctionnement de BLOB et TEXT sont. effectué dans MySQL. Traitement spécial :
1) Les valeurs BLOB/TEXT sont souvent traitées comme des objets. Ces objets ont leurs propres identifiants et espaces de stockage indépendants
2) Lorsque les valeurs BLOB/TEXT sont utilisées pour le tri. , seuls les N premiers octets seront utilisés, N correspond à une valeur constante dans la base de données (max_sort_length), si vous souhaitez spécifier plus d'octets à utiliser pour le tri, alors vous pouvez augmenter la valeur de max_sort_length ou utiliser ORDER BY SUBSTRING( column, length) fonction à gérer
3) Lorsque BLOB/TEXT est utilisé pour l'indexation ou le tri, la valeur du champ entier ne peut pas être utilisée
Évitez d'utiliser BOLB/TEXT en dernier recours pour l'indexation ou le tri
Étant donné que le moteur de mémoire de MySQL ne prend pas en charge les types BLOB et TEXT, si BLOB /TEXT est impliqué dans le processus de requête, vous devez utiliser une table temporaire du disque MyISAM, même s'il n'y a que quelques lignes de données. true (le moteur de mémoire du dernier serveur Percona prend en charge les types BLOB et TEXT).
MySQL contient deux formats d'heure DATETIME et TIMESTAMP, généralement la différence entre les deux types n'est pas très grande lors de l'utilisation, mais il y a quand même des différences dans les détails
Ce type de champ enregistre principalement les valeurs des colonnespar énumération, car il sera impliqué dans le processus d'utilisation La conversion entre le la position de l'énumération et la valeur réelle peuvent avoir un certain impact sur les performances globales, et la valeur de l'énumération est stockée dans .frm (fichier de définition de structure de table de données), donc après la création de la colonne ENUM, si vous souhaitez mettre à jour le contenu de EMUM, cela équivaut à mettre à jour la structure des tables.
Ce qui suit est un exemple simple de création d'une colonne ENUM :
mysql> CREATE TABLEenum_test( -> e ENUM('fish', 'apple', 'dog') NOT NULL -> ); mysql> INSERT INTOenum_test(e) VALUES('fish'), ('dog'), ('apple');
Dans les versions antérieures à MySQL 5.0, BIT était considéré comme équivalent à TINYINT, mais dans la nouvelle version, il est traité comme deux types complètement différents.
Lorsque vous récupérez un champ BIT de la base de données et que vous l'affichez sur la console, la valeur sera affichée en codage ASCII. Lorsque la valeur du champ apparaît dans le cadre d'une opération numérique, elle sera traitée. comme La valeur décimale de BIT. L'exemple suivant peut clairement illustrer ces deux situations
mysql>CREATE TABLE bittest(a bit(8)); mysql> INSERT INTObittest VALUES(b'00111001'); mysql> SELECT a, a+ 0 FROM bittest; +------+-------+ | a | a + 0 | +------+-------+ | 9 | 57 | +------+-------+
Ce qui précède est l'évolution de high-. performances MySql ( 2) : Contenu sous Data Type Optimization_, pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !