मुझे mysql डेटाबेस में बहुत बड़ी मात्रा में टेक्स्ट स्टोर करने की आवश्यकता है। यह फ़ील्ड प्रकार LONGTEXT के साथ लाखों रिकॉर्ड होंगे और डेटाबेस आकार बहुत बड़ा होगा।डेटाबेस में संग्रहीत करने से पहले पाठ को संपीड़ित करना
तो, मैं पूछना चाहता हूं, अगर अंतरिक्ष को बचाने के लिए टेक्स्ट फ़ील्ड में संग्रहीत करने से पहले टेक्स्ट को संपीड़ित करने का कोई सुरक्षित तरीका है, तो आवश्यकता होने पर इसे वापस निकालने की क्षमता के साथ?
कुछ की तरह:
$archived_text = compress_text($huge_text);
// saving $archived_text to database here
// ...
// ...
// getting compressed text from database
$archived_text = get_text_from_db();
$huge_text = uncompress_text($archived_text);
वहाँ php या mysql के साथ ऐसा करने के लिए एक रास्ता है? सभी ग्रंथ utf-8 एन्कोडेड हैं।
अद्यतन
मेरा आवेदन एक बड़ी साहित्य वेबसाइट जहां उपयोगकर्ता अपने ग्रंथों जोड़ सकते हैं। यहाँ है तालिका मेरे पास है:
CREATE TABLE `book_parts` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`book_id` int(11) NOT NULL,
`title` varchar(200) DEFAULT NULL,
`content` longtext,
`order_num` int(11) DEFAULT NULL,
`views` int(10) unsigned DEFAULT '0',
`add_date` datetime DEFAULT NULL,
`is_public` tinyint(3) unsigned NOT NULL DEFAULT '1',
`published_as_draft` tinyint(3) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `key_order_num` (`order_num`),
KEY `add_date` (`add_date`),
KEY `key_book_id` (`book_id`,`is_public`,`order_num`),
CONSTRAINT FOREIGN KEY (`book_id`) REFERENCES `books` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8
वर्तमान में यह 800k के बारे में रिकॉर्ड और वजन 4 जीबी है, प्रश्नों के 99% का चयन कर रहे हैं। मेरे पास यह सोचने के सभी कारण हैं कि संख्याएं आरेखण में वृद्धि करती हैं। मैं फ़ाइलों में ग्रंथों को संग्रहित नहीं करना चाहता क्योंकि वहां काफी भारी तर्क है और मेरी वेबसाइट में कुछ हिट हैं।
यदि आप बाइनरी डेटा संग्रहीत कर रहे हैं, तो बीएलओबी फ़ील्ड का उपयोग करें, टेक्स्ट नहीं। – Brad
आप फ़ाइल-आधारित स्टोरेज पर अपने वीटो पर पुनर्विचार करना चाह सकते हैं। मुझे यकीन नहीं है कि 'भारी तर्क' के बारे में आपका क्या मतलब है, लेकिन मुझे नहीं लगता कि डेटाबेस में ग्रंथों को संग्रहीत करना कितनी यातायात वाले साइट के लिए स्वचालित रूप से बेहतर होगा। – grossvogel