Firefox 29 - x kereden az ziyaret edilen geçmiş girişlerini nasıl silebilirim


11

Bağlam:

Firefox profilimi birkaç yıldır kullanıyorum. Tarih dosyam doğal olarak çok büyük oldu. Ana masaüstü bilgisayarım ile dizüstü bilgisayarım arasında Firefox Sync kurulumu yaptım.

HW yapılandırmaları:

  • PC: i5-3450, 8 GB DDR3 RAM, Crucial M4 128 GB SSD
  • dizüstü bilgisayar: Pentium SU4100, 4 GB DDR3 RAM, WD 5400 rpm HDD

Masaüstümdeki Awesome Bar'a yazarken geçmiş girişlerine erişmek, iyi yapılandırmaya rağmen oldukça uzun sürüyor, dizüstü bilgisayar daha da yavaş. Deneyim oldukça tepkisiz.

Geçmişi biraz temizlediğimde, işleri hızlandırmak için yeni bir profil oluşturmaktan kaçınabileceğimi düşündüm.

Sorunun kendisi:

Örneklemek gerekirse:

Tarih

Ziyaret edilen tüm geçmiş girişlerini x'ten daha az (diyelim ki 5 kez) ve aynı zamanda son ziyaret y'den (120 diyelim) daha eski bir süreyi silmenin bir yolu var mı?

afaik geçmiş dosyası bir çeşit SQL veritabanıdır, ancak verileri düzenlemek için "güvenli bir yol" varsa ve ne istediğimi yapmak için ne sorgu olurdu gibi gerçekten nasıl kaydedildiğinden emin değilim.


Alakalı bilgiler bulabileceğimi görmek için önceki SuperUser sorularına göz atmaya devam ettim.

Firefox profil dizinimde adlı bir dosya var places.sqlite. Sqlite ile açıldığında (diğerleri arasında) tablolar moz_placesve moz_historyvisits. URL'leri belirtmek için moz_historyvisitsbirincil kodunu kullanıyor gibi görünüyor moz_places.

Veritabanlarına aşina olmadığım için, alıntıda belirtilen iki tablonun nasıl ilişkili olduğunu gerçekten anlamıyorum.

tabloların bir bölümünün ekran görüntüsü places_sqlite

visit_countStandart formatta olduğunu fark ettim , bu da çalışmayı kolaylaştırıyor. last_visit_dateBakışlar benim çıplak gözle şifreli ama hangi yöne içinde göremez.

Umarım yardımcı olur, aklımın ucundayım.


Sorularınızdan birini yanıtlamak için , bu cevaba göre Firefox aslında SQL kullanıyor. Ben SQLLite ateş ve oradan gitmek öneririz.
AStopher

Şimdiye kadar ne denedin? Devam etmeden önce, yepyeni bir Firefox profilinin özellikle dizüstü bilgisayarda daha iyi bir deneyim sağladığını doğrulayabilir misiniz?
and31415

1
Yeni bilgiler içeren bir cevap gönderdim. Snappiness gelince, hayır, ben denemedim, ama kesinlikle dizüstü ve masaüstünde, profil oldukça yeni olduğunda (ve tarih birçok giriş tarafından düzenli) çok müthiş olduğunu daha hatırlıyorum.
lousyuser

Geçmişinizi sildikten sonra herhangi bir performans artışı gördünüz mü? - edit: oops: Görüyorum ki seçilen cevaba yorum yaptınız ve büyük bir gelişme fark ettiniz.
ndemou

Yanıtlar:


9

Bazı araştırmalarla ('referanslar' için sonunda bakın), bu basit çözümü buldum:


İLK YEDEKLEME. İLK YAKIN FIREFOX


Bu , Mozilla Firefox'un SQLite Veritabanını (bağımsız bir SQL veritabanı; Wikipedia makalesine bakın ), koşulu karşılayan tüm kayıtları (sizin durumunuzda - 5 kereden az görüntülenen ve ziyaret edilmeyen) bulmak için bir sorgu yaparak düzenlemenizi gerektirir . son 120 gün).


İLK YEDEKLEME. İLK YAKIN FIREFOX

Talimatlar başlar:


Bu işe yarıyor (Firefox v. 29.0.1 ile test edilmiş ve çalışıyor). 12 kolay (ish) adımda:

  1. SQLite Veritabanı Tarayıcısını Kur

  2. Aç onu

  3. Veritabanını Aç'ı tıklayın.

  4. C:\Users\[USER]\AppData\Roaming\Mozilla\Firefox\Profiles\[PROFILE]Gerektiği gibi düzenlemeye gidin

    İLK AŞAĞIDAKİ DOSYAYI YEDEKLEME !!

  5. places.sqlite4. adımda açtığınız dizinden açın .

    CİDDİ, ÖNCE YEDEKLEME !!

  6. SQL Yürüt sekmesine tıklayın.

  7. Bunu girin:

    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 ile değiştirin (örneğin)

  9. Değiştir 2014-04-01ve 2014-05-30istediğiniz tarihler aralığında ile

  10. Mavi yürüt düğmesine basın.

  11. Görüntülenen sitelerin doğru olup olmadığını kontrol edin (olması gerekir, ancak iki kez kontrol edin!)

  12. Öyleyse, yukarıdaki kodun ilk iki satırını şu ile değiştirin:

    DELETE
    FROM moz_places
    

    kodunuz şöyle görünür:

    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)
    

YAPILAN! Programı kapatın ve kapatırken kaydet'i tıklayın.

Talimatlar sona eriyor


Ne olmuş last_visit_date?

Last_visit_date çıplak gözüme şifreli görünüyor, ama hangi şekilde göremiyorum.

'Şifreli' demem (şifreli göründüğüne katılmıyorum). Sadece başka bir 'sistemde'. Tarih Unixsaat sistemindedir (veya Epoch/ POSIX). 1 Ocak 1970 00:00 (UTC) tarihinden bu yana geçen saniye sayısı. 1 saat 3600 saniyedir. 1 yıl 31556926 gündür.

Daha fazla bilgi için. kontrol bu Wikipedia makale out veya bu dönüştürür zaman buna ve dönem zaman web sitesi.


Ekran görüntüleri (bu resimlerdeki SQL sorgularını göz ardı edin, yanlışlar. Bunlar çoğunlukla nereye bakacağınızı söylemek içindir)

SQLite Veritabanı Tarayıcısı SQLite Veritabanı Tarayıcısı SQLite Veritabanı Tarayıcısı

Sayesinde ;):


Ek güvenlik için, bunu yapmadan önce veritabanının bir kopyasını (yedekini) oluşturmak isteyebilirsiniz.
Bob

Ayrıca, bunu düzgün bir şekilde yapmak istiyorsanız, moz_placesartık uygun olmayan girişlerden de silmeniz gerekir place_id.
Bob

Üzgünüm, ben silmek istedimmoz_historyvisits
Bob

@Bob Ve place_idin moz_historyvisits= idin moz_places?
ᔕᖺᘎᕊ

Olmalı. 1. silme: İki idare yolu vardır moz_historyvists ilk ( delete from moz_historyvisits as hv left join moz_places as p on hv.place_id = p.id where p.visit_count...temizleme sonrası) veya 2. moz_placesşunları yapabilirsiniz silmek moz_historyvisitsgelen girdiyi içermeyen tüm girdileri . 1. seçeneği şahsen tercih ederim. Test etmeden kullanmayın; benim SQL oldukça paslı ve ben sqlite değil, pgsql ile öğrendim. Aslında her ikisinden birden silebilirsiniz, lemme testi.
Bob
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.