Par définition:
VARCHAR: La plage de longueur est comprise entre 1 et 255 caractères. Les valeurs VARCHAR sont triées et comparées de manière insensible à la casse, sauf si le mot clé BINARY est indiqué. x + 1 octets
TINYBLOB, TINYTEXT: une colonne BLOB ou TEXT d'une longueur maximale de 255 (2 ^ 8 - 1) caractères x + 1 octets
Sur cette base, je crée le tableau suivant:
CREATE TABLE `user` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255),
`lastname` tinytext,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
Ou est-il préférable de créer un varchar ou un tinytext et pourquoi ?
Est-ce la même chose pour:
VARCHAR: La plage de longueur est> 255 caractères. Les valeurs VARCHAR sont triées et comparées de manière insensible à la casse, sauf si le mot clé BINARY est indiqué. x + 2 octets
BLOB, TEXT Colonne BLOB ou TEXT d'une longueur maximale de 65535 (2 ^ 16 - 1) caractères x + 2 octets
Réponses:
Dans ce cas,
varchar
c'est mieux.Notez que cela
varchar
peut être de 1 à 65535 caractères.Les objets blob sont enregistrés dans une section distincte du fichier.
Ils nécessitent une lecture de fichier supplémentaire à inclure dans les données.
Pour cette raison, varchar est récupéré beaucoup plus rapidement.
Si vous avez un grand blob auquel vous accédez rarement, un blob a plus de sens.
Le stockage des données blob dans un fichier séparé (une partie du) fichier permet à votre fichier de données de base d'être plus petit et donc d'être récupéré plus rapidement.
la source