Mysql
 sql >> база данни >  >> RDS >> Mysql

Компресиране на текст преди съхраняването му в базата данни

Ще индексирате ли тези текстове. Колко голямо е натоварването при четене на тези текстове? Вмъкване на товар?

Можете да използвате компресия на данни 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:Документи .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да актуализирате база данни на mysql без презареждане на страницата

  2. Възможно ли е да се изпълни низ в MySQL?

  3. Групиране по със заявка за избор на mysql union

  4. Каква е грешката Всяка извлечена таблица трябва да има свой собствен псевдоним в MySQL?

  5. Филтрирайте редове в колона въз основа на зададени правила в SQL