फ़ायरफ़ॉक्स 29 - मैं इतिहास प्रविष्टियों को कैसे नष्ट करूं जो एक्स से कम बार देखी गई हो


11

प्रसंग:

मैं अभी कुछ वर्षों से अपने फ़ायरफ़ॉक्स प्रोफ़ाइल का उपयोग कर रहा हूं। मेरी इतिहास फ़ाइल स्वाभाविक रूप से विशाल हो गई है। मुझे अपने मुख्य डेस्कटॉप पीसी और मेरे लैपटॉप के बीच फ़ायरफ़ॉक्स सिंक मिला।

HW कॉन्फ़िगरेशन:

  • पीसी: i5-3450, 8 जीबी डीडीआर 3 रैम, क्रूसिकल एम 4 128 जीबी एसएसडी
  • लैपटॉप: पेंटियम एसयू 4100, 4 जीबी डीडीआर 3 रैम, डब्ल्यूडी 5400 आरपीएम एचडीडी

जब मेरे डेस्कटॉप पर विस्मयकारी बार में टाइप करने पर इतिहास प्रविष्टियों तक पहुँच होती है, तो सभ्य विन्यास के बावजूद काफी लंबा समय लगता है, लैपटॉप और भी धीमा होता है। अनुभव काफी अनुत्तरदायी है।

मुझे लगा कि अगर मैंने इतिहास को थोड़ा सा साफ कर दिया, तो मैं चीजों को गति देने के लिए एक नया प्रोफ़ाइल बनाने से बच सकता हूं।

सवाल ही:

उदाहरण देकर स्पष्ट करने के लिए:

इतिहास

क्या सभी इतिहास प्रविष्टियों को नष्ट करने का एक तरीका है जो x से कम का दौरा किया गया है (मान लीजिए 5 बार) और उसी समय हाल की यात्रा y (चलो कहते हैं कि 120 दिन) से कम है?

इतिहास फ़ाइल कुछ प्रकार का SQL डेटाबेस है, लेकिन मुझे वास्तव में यकीन नहीं है कि डेटा को कैसे बचाया जाता है, अगर इसे संपादित करने के लिए "सुरक्षित तरीका" है और जो मुझे चाहिए वह करने के लिए क्वेरी क्या होगी।


मैं पिछले सुपरयूजर प्रश्नों के माध्यम से ब्राउज़ करता रहा कि क्या मुझे प्रासंगिक जानकारी मिल सकती है।

मेरी फ़ायरफ़ॉक्स प्रोफ़ाइल निर्देशिका में, एक फ़ाइल है जिसका नाम है places.sqlite। इसे साइक्लाइट के साथ खोलने पर (अन्य के बीच) तालिकाओं moz_placesऔर moz_historyvisits। ऐसा लगता है कि URL को संदर्भित करने moz_historyvisitsके moz_placesलिए प्राथमिक का उपयोग करता है ।

जैसा कि मैं डेटाबेस से अपरिचित हूं, मैं वास्तव में उस तरीके को नहीं समझता जिस तरह से उद्धरण में वर्णित दो तालिकाओं का संबंध है।

तालिकाओं के एक हिस्से का स्क्रीनशॉट places_sqlite

मैंने देखा है कि visit_countयह एक मानक प्रारूप में है, जिससे काम करना आसान हो जाता है। last_visit_dateदिखता है मेरी नग्न आंखों के लिए एन्क्रिप्टेड है, लेकिन मैं में जो रास्ता नहीं देख सकता।

आशा है कि मदद करता है, मैं अपने दिमाग के अंत में हूँ।


आपके एक प्रश्न का उत्तर देने के लिए , इस उत्तर के अनुसार , फ़ायरफ़ॉक्स वास्तव में एसक्यूएल का उपयोग करता है। मैं SQLLite फायरिंग और वहाँ से जाने की सलाह देता हूँ।
एएसटोपेर

आपने अब तक क्या प्रयास किया? आगे बढ़ने से पहले, क्या आप पुष्टि कर सकते हैं कि एक नया फ़ायरफ़ॉक्स प्रोफाइल विशेष रूप से लैपटॉप पर एक स्नैपर अनुभव प्रदान करता है?
31415

1
मैंने अभी एक उत्तर पोस्ट किया है जिसमें कुछ नई जानकारी है। तड़क-भड़क के लिए, नहीं, मैंने कोशिश नहीं की है, लेकिन मुझे स्पष्ट रूप से याद है कि जब प्रोफाइल काफी नया था (और कुछ प्रविष्टियों द्वारा इतिहास को अनसुना किया गया था), लैपटॉप और डेस्कटॉप दोनों पर, बहुत बढ़िया स्नैपर था।
lousyuser

तो क्या आपने अपना इतिहास साफ़ करने के बाद कोई प्रदर्शन सुधार देखा है? - संपादित करें: उफ़: मैं अब देखता हूं कि आपने चयनित उत्तर पर टिप्पणी की है और आपने बहुत सुधार देखा है।
ndemou

जवाबों:


9

कुछ शोधों के साथ ('संदर्भों के लिए अंत में देखें)', मैं इस तरह का (सरल) समाधान लेकर आया हूं:


BACKUP FIRST CLOSE FIREFOX FIRST


इसके लिए आपको मोज़िला फ़ायरफ़ॉक्स के SQLite डेटाबेस (एक स्व-निहित SQL डेटाबेस; विकिपीडिया लेख देखें ) को संपादित करने की ज़रूरत है, ताकि सभी रिकॉर्डों को खोजने के लिए एक क्वेरी बनायी जा सके जो शर्त को पूरा करती है (आपके मामले में - 5 बार से कम देखी गई और नहीं देखी गई। पिछले 120 दिन)।


BACKUP FIRST CLOSE FIREFOX FIRST

निर्देश शुरू:


यह काम करता है (मेरे फ़ायरफ़ॉक्स वी। 29.0.1 के साथ परीक्षण और काम कर रहा है)। 12 आसान (ईश) चरणों में:

  1. SQLite डेटाबेस ब्राउज़र स्थापित करें

  2. खोलो इसे

  3. डेटाबेस खोलें पर क्लिक करें

  4. C:\Users\[USER]\AppData\Roaming\Mozilla\Firefox\Profiles\[PROFILE]आवश्यकतानुसार संपादन पर नेविगेट करें

    बैकअप निम्न फ़ाइल पहले !!

  5. places.sqliteचरण 4 में आपके द्वारा खोले गए निर्देशिका से खोलें ।

    गंभीरता से, बैकअप पहले !!

  6. SQL टैब निष्पादित करें पर क्लिक करें।

  7. इसे दर्ज करें:

    SELECT *
    FROM moz_places
    WHERE
        last_visit_date BETWEEN strftime('%s','2014-04-01')*1000000
                        AND strftime('%s','2014-05-30')*1000000
        AND visit_count < x(2)
    
  8. x(2)5 को बदलें (आपके उदाहरण में)

  9. बदलें 2014-04-01और 2014-05-30आप चाहते हैं की तारीख की सीमा के साथ

  10. ब्लू प्ले बटन दबाएं।

  11. जांचें कि क्या साइटें सही हैं (वे होनी चाहिए, लेकिन दोहरी जांच!)

  12. यदि वे हैं, तो उपरोक्त कोड की पहली दो पंक्तियों को बदलें:

    DELETE
    FROM moz_places
    

    तो आपका कोड कुछ इस तरह दिखता है:

    DELETE
    FROM moz_places
    WHERE
        last_visit_date BETWEEN strftime('%s','2014-04-01')*1000000
                        AND strftime('%s','2014-05-30')*1000000
        AND visit_count < x(2)
    

किया हुआ! प्रोग्राम को बंद करें और बंद करते समय सेव पर क्लिक करें।

निर्देश समाप्त


के बारे में क्या last_visit_date?

Last_visit_date मेरी नग्न आंखों को एन्क्रिप्टेड लगता है, लेकिन मैं इस तरह से नहीं देख सकता।

मैं इसे 'एनक्रिप्टेड' नहीं कहूंगा (हालांकि मैं इससे सहमत नहीं हूं कि यह एन्क्रिप्टेड लगता है)। यह सिर्फ दूसरे 'सिस्टम' में है। दिनांक Unixसमय प्रणाली (या Epoch/ POSIX) में है। यह 1 जनवरी 1970 से 00:00:00 (UTC) बीतने के बाद सेकंड की संख्या है। 1 घंटा 3600 सेकंड है। 1 वर्ष 31556926 दिन है।

अधिक जानकारी के लिए। जाँच इस विकिपीडिया लेख, या यह कि धर्मान्तरित-समय पर और युग-समय पर वेबसाइट।


स्क्रीनशॉट (इन छवियों पर SQL प्रश्नों को अनदेखा करें, वे गलत हैं। ये आपको अधिकतर बताने के लिए हैं कि कहां दिखना है)

SQLite डेटाबेस ब्राउज़र SQLite डेटाबेस ब्राउज़र SQLite डेटाबेस ब्राउज़र

करने के लिए धन्यवाद ;):


अतिरिक्त सुरक्षा के लिए, आप ऐसा करने से पहले डेटाबेस की एक प्रति (बैकअप) बनाना चाहते हैं।
बॉब

इसके अलावा, यदि आप इसे ठीक से करना चाहते हैं, तो आपको ऐसी moz_placesप्रविष्टियों से भी हटाना चाहिए जिनके पास अब कोई संगत नहीं है place_id
बॉब

क्षमा करें, मेरा मतलब थाmoz_historyvisits
बॉब

@Bob और place_idमें moz_historyvisits= idमें moz_places?
ᔕᖺᘎᕊ

होना चाहिए। इसे संभालने के दो तरीके हैं: 1. moz_historyvists पहले से हटाएं ( delete from moz_historyvisits as hv left join moz_places as p on hv.place_id = p.id where p.visit_count...) या 2. साफ़ करने के बाद moz_places, आप ऐसी किसी भी एंट्री से डिलीटmoz_historyvisits कर सकते हैं जिसके पास एंट्री नहीं है । मैं व्यक्तिगत रूप से विकल्प 1 पसंद करता हूं। परीक्षण के बिना इसका उपयोग न करें; मेरी एसक्यूएल बल्कि जंग लगी है, और मैंने pgsql के साथ सीखा, न कि sqlite। आप वास्तव में एक ही बार में, नींबू परीक्षण से दोनों को हटाने में सक्षम हो सकते हैं।
बॉब
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.