Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Que tipo de dados de coluna devo usar para armazenar grandes quantidades de texto ou html


Você deve usar TEXT como os outros disseram, mas há alguns conselhos importantes toda vez que você usa TEXT ou BLOB:separe-os da sua tabela base pois eles realmente retardam o acesso à mesa. Imagine a seguinte estrutura:
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
);

Sempre que você listar artigos, você pode usar o article tabela (últimos 5 artigos do autor 33):
SELECT id, title FROM article WHERE author_id=33 ORDER BY created DESC LIMIT 5

E quando alguém realmente abre o artigo você pode usar algo como:
SELECT a.title, ab.body
FROM article AS a
   LEFT JOIN article_body AS ab ON ab.id = a.id
WHERE a.id=82