Skal du indeksere disse tekster. Hvor stor er læsebelastningen på disse tekster? Indsætte belastning?
Du kan bruge InnoDB datakomprimering - gennemsigtig og moderne måde. Se dokumenter for mere info.
Hvis du har virkelig store tekster (f.eks. hver tekst er over 10 MB), er det en god idé ikke at gemme dem i Mysql. Gem komprimeret af gzip-tekster i filsystemet og kun pointere og meta i mysql. Du kan nemt udvide dit lager fremover og flytte det til f.eks. DFS.
Opdatering: endnu et plus ved at gemme tekster uden for Mysql:DB forbliver lille og hurtig. Minus:høj sandsynlighed for datainkonsistens.
Opdatering 2: Hvis du har mange programmeringsressourcer, så tag et kig på projekter som dette: http://code.google.com/p/mysql-filesystem-engine/ .
Sidste opdatering: i henhold til dine oplysninger kan du bare bruge InnoDB-komprimering - det er det samme som ZIP. Du kan starte med disse parametre:
CREATE TABLE book_parts
(...)
ENGINE=InnoDB
ROW_FORMAT=COMPRESSED
KEY_BLOCK_SIZE=8;
Senere bliver du nødt til at spille med KEY_BLOCK_SIZE
. Se SHOW STATUS LIKE 'COMPRESS_OPS_OK'
og SHOW STATUS LIKE 'COMPRESS_OPS'
. Forholdet mellem disse to parametre skal være tæt på 1.0:Dokumenter
.