sql >> Database >  >> RDS >> Mysql

Welk kolomgegevenstype moet ik gebruiken voor het opslaan van grote hoeveelheden tekst of html

Gebruik TEXT zoals de anderen al zeiden, maar er is een belangrijk advies elke keer dat je TEXT of BLOB gebruikt:ontkoppel ze van je basistabel omdat ze de toegang tot de tafel echt vertragen. Stel je de volgende structuur voor:

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

Telkens wanneer u artikelen vermeldt, kunt u het article . gebruiken tabel (laatste 5 artikelen van auteur 33):

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

En als iemand het artikel echt opent, kun je zoiets gebruiken als:

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


  1. MySQL LOAD DATA LOKAAL INFILE voorbeeld in python?

  2. Foreign Keys - Wat doen ze voor mij?

  3. Langzaam LEFT JOIN op CTE met tijdsintervallen

  4. Maak een tabel in SQL Server 2017