Ще индексирате ли тези текстове. Колко голямо е натоварването при четене на тези текстове? Вмъкване на товар?
Можете да използвате компресия на данни InnoDB - прозрачен и модерен начин. Вижте документи за повече информация.
Ако имате наистина огромни текстове (да речем, всеки текст е над 10MB), добра идея е да не ги съхранявате в Mysql. Съхранявайте компресирани от gzip текстове във файловата система и само указатели и мета в mysql. Можете лесно да разширите хранилището си в бъдеще и да го преместите напр. DFS.
Актуализация: друг плюс от съхраняването на текстове извън Mysql:DB остава малка и бърза. Минус:голяма вероятност от несъответствие на данните.
Актуализация 2: ако имате много ресурси за програмиране, моля, разгледайте проекти като този: http://code.google.com/p/mysql-filesystem-engine/ .
Окончателна актуализация: според вашата информация, можете просто да използвате InnoDB компресия - същата е като ZIP. Можете да започнете с тези параметри:
CREATE TABLE book_parts
(...)
ENGINE=InnoDB
ROW_FORMAT=COMPRESSED
KEY_BLOCK_SIZE=8;
По-късно ще трябва да играете с KEY_BLOCK_SIZE
. Вижте SHOW STATUS LIKE 'COMPRESS_OPS_OK'
и SHOW STATUS LIKE 'COMPRESS_OPS'
. Съотношението на тези два параметъра трябва да е близко до 1.0:Документи
.