Mysql
 sql >> Base de données >  >> RDS >> Mysql

Quel type de données de colonne dois-je utiliser pour stocker de grandes quantités de texte ou HTML

Vous devez utiliser TEXT comme les autres l'ont dit, mais il y a un conseil important à chaque fois que vous utilisez TEXT ou BLOB :découplez-les de votre table de base car ils ralentissent vraiment l'accès à la table. Imaginez la structure suivante :

CREATE TABLE article (
    id INT(10) UNSIGNED,
    title VARCHAR(40),
    author_id INT(10) UNSIGNED,
    created DATETIME,
    modified DATETIME
);

CREATE TABLE article_body (
    id INT(10) UNSIGNED,
    body TEXT
);

Chaque fois que vous répertoriez des articles, vous pouvez utiliser le article tableau (5 derniers articles de l'auteur 33):

SELECT id, title FROM article WHERE author_id=33 ORDER BY created DESC LIMIT 5

Et quand quelqu'un ouvre vraiment l'article, vous pouvez utiliser quelque chose comme :

SELECT a.title, ab.body
FROM article AS a
   LEFT JOIN article_body AS ab ON ab.id = a.id
WHERE a.id=82