Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Welchen Spaltendatentyp sollte ich zum Speichern großer Text- oder HTML-Mengen verwenden?

Sie sollten TEXT verwenden wie die anderen sagten, aber es gibt einige wichtige Ratschläge, wann immer Sie TEXT oder BLOB verwenden:entkoppeln Sie sie von Ihrer Basistabelle da sie den Zugriff auf den Tisch wirklich verlangsamen. Stellen Sie sich folgende Struktur vor:

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
);

Wann immer Sie Artikel auflisten, können Sie den article verwenden Tabelle (letzte 5 Artikel von Autor 33):

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

Und wenn jemand den Artikel wirklich öffnet, können Sie etwas verwenden wie:

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