Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

डेटाबेस में संग्रहीत करने से पहले पाठ को संपीड़ित करना

क्या आप इन ग्रंथों को अनुक्रमित करने जा रहे हैं। इस पाठ पर पठन भार कितना बड़ा है? लोड डालें?

आप InnoDB डेटा कम्प्रेशन का उपयोग कर सकते हैं - पारदर्शी और आधुनिक तरीके से। देखें दस्तावेज़ अधिक जानकारी के लिए।

यदि आपके पास वास्तव में विशाल ग्रंथ हैं (कहते हैं, प्रत्येक पाठ 10 एमबी से ऊपर है), तो अच्छा विचार यह है कि उन्हें मैसकल में संग्रहीत न करें। फाइल सिस्टम में gzip टेक्स्ट द्वारा कंप्रेस्ड स्टोर करें और mysql में केवल पॉइंटर्स और मेटा। आप भविष्य में आसानी से अपने भंडारण का विस्तार कर सकते हैं और इसे उदा। डीएफएस.

अपडेट करें: मैसकल के बाहर ग्रंथों को संग्रहीत करने का एक और प्लस:डीबी छोटा और तेज रहता है। माइनस:डेटा असंगति की उच्च संभावना।

अपडेट 2: यदि आपके पास बहुत से प्रोग्रामिंग संसाधन हैं, तो कृपया इस तरह के प्रोजेक्ट पर एक नज़र डालें: http://code.google.com/p/mysql-filesystem-engine/

अंतिम अपडेट: आपकी जानकारी के अनुसार, आप केवल InnoDB संपीड़न का उपयोग कर सकते हैं - यह ज़िप के समान है। आप इन पैरा से शुरू कर सकते हैं:

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 में DATETIME को DATE के रूप में कैसे डाला जाए?

  2. mysqldump --databases के परिणाम में पढ़ने के लिए mysqlimport का उपयोग कैसे करें

  3. Doctrine2 (Symfony2) में केस द्वारा ऑर्डर कैसे करें

  4. onbeforeprint() और onafterprint() गैर IE ब्राउज़र के बराबर

  5. SQL मानों को कई पंक्तियों में विभाजित करता है