मैं WordPress डेटाबेस तालिकाओं में अनाथ कुंजी कैसे हटा सकता हूं?


10

विशेष रूप से तालिका में wp_options। लगभग 2 साल के ब्लॉग उत्पादन के बाद यह बहुत बढ़ गया है, और मुझे नहीं पता कि इसमें कितनी बकवास है।

क्या आप एक ऐसा प्लगइन जानते हैं जो अनाथ कुंजी / पंक्तियों को खोजने के लिए वर्डप्रेस 3.0 या सुरक्षित क्वेरी के साथ काम करता है?

जवाबों:


7

कोई भी क्वेरी नहीं है जो अप्रयुक्त सब कुछ को हटाने के लिए 100% निश्चित होगी और उन चीजों को नहीं हटाएगी क्योंकि कोई भी थीम या प्लगइन wp_optionsतालिका में विकल्प जोड़ सकते हैं । फिर भी, थोड़े प्रयास से आप बहुत अच्छा विचार प्राप्त कर सकते हैं कि क्या उपयोग में नहीं है और फिर मैन्युअल रूप से यह तय करें कि कौन सी चीजों को हटाना है और कौन सा नहीं।

आप निम्न कोड को अस्थायी रूप से अपनी थीम की functions.phpफ़ाइल में डाल सकते हैं और फिर अपने सार्वजनिक-सामना करने वाली साइट पर हर (प्रकार) पृष्ठ पर जा सकते हैं और इससे भी महत्वपूर्ण बात यह है कि व्यवस्थापक कंसोल में सभी व्यवस्थापक पृष्ठ। एक बार जब आप ऐसा कर लेते हैं कि आप अपनी wp_optionsतालिका खोल सकते हैं और क्षेत्र use_countको देख सकते हैं (नीचे दिए गए कोड द्वारा जोड़ा गया) यह देखने के लिए कि कौन से विकल्प use_countशून्य के बराबर हैं (उपयोग की गिनती 1 से अधिक पढ़ी गई या अपडेट की गई चीज़ों के अलावा अन्य अर्थहीन है। कम से कम एक बार जब से आपने यह कोड जोड़ा है।)

global $wpdb;
header('Content-Type:text/plain');
$results = $wpdb->get_results("SHOW COLUMNS FROM wp_options WHERE Field='use_count'");
if (count($results)==0) {
    $wpdb->query("ALTER TABLE {$wpdb->options} ADD COLUMN use_count int UNSIGNED NOT NULL DEFAULT '0' AFTER autoload");
}

add_action('all','monitor_get_option_usage');
function monitor_get_option_usage($filter){
    if (preg_match('#^option_(.*)$#',$filter)) {
        increment_option_use_count(substr($filter,7));
    }
}
add_action('updated_option','monitor_update_option_usage');
function monitor_update_option_usage($option){
    increment_option_use_count($option);
}
function increment_option_use_count($option) {
    global $wpdb;
    $wpdb->query("UPDATE {$wpdb->options} SET use_count = use_count + 1 WHERE option_name = '$option'");
}

इसके साथ आप संभवतः उन विकल्पों की पहचान करने में सक्षम होंगे जो लंबे समय से चले गए प्लगइन्स, पूर्व थीम और यहां तक ​​कि आपके स्वयं के विकल्पों के साथ जुड़े हुए हैं, जिन्हें आपने पहले जोड़ा था, लेकिन अधिक उपयोग नहीं किया गया था। उन सभी को एक बैकअप में निर्यात करें (बस मामले में) और फिर उन लोगों को हटा दें जिन्हें आप हटा रहे हैं। एक बार जब आप ऐसा कर use_countलेते हैं, तो आप फ़ील्ड को हटा सकते हैं (यदि आप चाहते हैं, तो इसके लिए कोई चोट नहीं है) और अपनी functions.phpफ़ाइल से ऊपर दिए गए कोड को भी हटा दें ।

हालांकि यह अभी भी सही नहीं है यह कुछ भी नहीं से बहुत बेहतर है। आशा है ये मदद करेगा?


मैं दृढ़ता से इसके लिए बड़े पैमाने पर db लिखता है के बजाय इसके लिए memcached / incr () की सिफारिश करेंगे ।
डेनिस डे बर्नार्डी

3
@ डनीस - चूंकि मेम्केड को उन्नत सर्वर सेटअप की आवश्यकता होती है, जो एक साझा सर्वर पर भी संभव नहीं है, जहां अधिकांश वर्डप्रेस साइटों की मेजबानी की जाती है, और चूंकि यह एक बार या कभी-कभी नैदानिक ​​दिनचर्या है, इसलिए मैं नहीं देखता कि आप आवश्यकता पर जोर क्यों देंगे। इस उपयोग के मामले के लिए मेमेकैच्ड ? शायद मुझे कुछ याद आ रहा है, क्या आप इस बात का विस्तार कर सकते हैं कि किसी को वीपीएस या समर्पित सर्वर पर जाना होगा और सीखना होगा कि किसी को ज्ञापन को कॉन्फ़िगर करने के लिए कैसे प्राप्त करना चाहिए या करना चाहिए ताकि बड़ी संख्या में डेटाबेस हिट से बचने के लिए ऐसा शायद ही कभी हो। रखरखाव दिनचर्या का इस्तेमाल किया?
माइकस्किंकल

4

प्लगइन क्लीन ऑप्शंस ने मेरे लिए अच्छा काम किया है। प्लगइन का लेखक का वर्णन आपको क्या चाहिए फिट लगता है: "विकल्प अनाथ कर देता है और wp_options तालिका से उनके हटाने की अनुमति देता है।"

मैंने अभी तक व्यक्तिगत रूप से WP-Optimize का प्रयास नहीं किया है , लेकिन यह भी आशाजनक लगता है। और यह कहता है कि यह WP 2.7 का समर्थन करता है (जबकि स्वच्छ विकल्प केवल WP 2.3 के लिए निश्चित समर्थन का उल्लेख करता है), अच्छा!


2

यह आवश्यक रूप से मुद्दों को नहीं हटाएगा, wp_optionsलेकिन मैंने अपने 3.0 साइटों पर बहुत सारे डेटाबेस साइज़िंग मुद्दों को ठीक करने के लिए WP-Optimize का उपयोग किया है। यह अनावश्यक पोस्ट संशोधन, स्पैम टिप्पणियों को साफ करता है, और स्वचालित रूप से बहुत सारे मुद्दों को ठीक कर सकता है। मेरे मुख्य ब्लॉग पर, DB को 30MB से घटाकर केवल 6MB से कम कर दिया गया और अब बहुत आसानी से चलता है।


1

मैं अपनी साइट पर Clean Options और WP_Optimize दोनों चलाता हूं और कॉम्बो डेटाबेस को शानदार आकार में रखने का एक शानदार काम करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.