sql >> Databáze >  >> RDS >> Mysql

Komprese textu před uložením do databáze

Chystáte se indexovat tyto texty. Jak velká je zátěž při čtení těchto textů? Vložit zátěž?

Můžete použít kompresi dat InnoDB - transparentní a moderní způsob. Viz dokumenty pro více informací.

Pokud máte opravdu velké texty (řekněme, každý text je větší než 10 MB), je dobré je neukládat do Mysql. Ukládejte komprimované texty gzip v systému souborů a pouze ukazatele a meta v mysql. Své úložiště můžete v budoucnu snadno rozšířit a přesunout např. DFS.

Aktualizace: další plus ukládání textů mimo Mysql:DB zůstává malý a rychlý. Mínus:vysoká pravděpodobnost nekonzistence dat.

Aktualizace 2: pokud máte hodně programovacích prostředků, podívejte se prosím na projekty jako je tento: http://code.google.com/p/mysql-filesystem-engine/ .

Konečná aktualizace: podle tvých informací můžeš použít jen kompresi InnoDB - je to stejné jako ZIP. Můžete začít s těmito parametry:

CREATE TABLE book_parts
 (...) 
 ENGINE=InnoDB
 ROW_FORMAT=COMPRESSED 
 KEY_BLOCK_SIZE=8;

Později budete muset hrát s KEY_BLOCK_SIZE . Viz SHOW STATUS LIKE 'COMPRESS_OPS_OK' a SHOW STATUS LIKE 'COMPRESS_OPS' . Poměr těchto dvou parametrů se musí blížit 1,0:Dokumenty .



  1. Vyplňte rozbalovací pole z tabulky mySQL v PHP

  2. Jak Acosh() funguje v PostgreSQL

  3. Nepovolovat obrácený složený primární klíč v MySQL

  4. php mysql fulltextové vyhledávání:lucene, sfinga nebo?