Le contexte:
J'utilise mon profil Firefox depuis quelques années maintenant. Mon dossier historique est devenu énorme, naturellement. J'ai installé Firefox Sync entre mon ordinateur de bureau principal et mon ordinateur portable.
Configurations matérielles:
- PC: i5-3450, 8 Go de RAM DDR3, SSD Crucial M4 128 Go
- ordinateur portable: Pentium SU4100, 4 Go de RAM DDR3, disque dur WD 5400 tr / min
L'accès aux entrées d'historique lors de la saisie dans la barre impressionnante sur mon bureau prend un certain temps malgré la configuration correcte, l'ordinateur portable est encore plus lent. L'expérience ne répond pas du tout.
J'ai pensé que si j'effaçais un peu l'historique, je pourrais éviter de créer un nouveau profil pour accélérer les choses.
La question elle-même:
Pour illustrer:
Existe-t-il un moyen de supprimer toutes les entrées d'historique qui ont été visitées moins de x (disons 5) fois et en même temps la visite récente a moins de y (disons 120) jours?
afaik le fichier historique est une sorte de base de données SQL, mais je ne sais pas vraiment comment les données sont enregistrées, s'il existe un "moyen sûr" de les modifier et à quoi ressemblerait la requête pour faire ce dont j'ai besoin.
J'ai continué à parcourir les questions précédentes de SuperUser pour voir si je pouvais trouver des informations pertinentes.
Dans mon répertoire de profil Firefox, il y a un fichier nommé
places.sqlite
. L'ouvrir avec sqlite révèle (entre autres) les tablesmoz_places
etmoz_historyvisits
. Il semble quemoz_historyvisits
utilise le principal demoz_places
pour faire référence aux URL.
Comme je ne suis pas familier avec les bases de données, je ne comprends pas vraiment la façon dont les deux tables mentionnées dans la citation sont liées.
capture d'écran d'une partie des tableaux
J'ai remarqué que le visit_count
format est standard, ce qui facilite son utilisation. Les last_visit_date
regards sont cryptés à l'œil nu, mais je ne vois pas de quelle manière.
J'espère que cela aide, je suis à bout de souffle.
la source
Réponses:
Avec quelques recherches (voir à la fin pour les «références»), j'ai trouvé cette (sorte de) solution simple:
SAUVEGARDE D'ABORD. CLOSE FIREFOX D'ABORD
Cela vous oblige à modifier la base de données SQLite (une base de données SQL autonome; voir l'article Wikipédia ) de Mozilla Firefox en effectuant une requête pour trouver tous les enregistrements qui remplissent la condition (dans votre cas - consultés moins de 5 fois et non visités dans le 120 derniers jours).
SAUVEGARDE D'ABORD. CLOSE FIREFOX D'ABORD
Début des instructions:
Cela fonctionne (testé et fonctionne avec mon Firefox v. 29.0.1). En 12 étapes faciles (ish):
Installer le navigateur de base de données SQLite
L'ouvrir
Cliquez sur Ouvrir la base de données
Accédez à l'
C:\Users\[USER]\AppData\Roaming\Mozilla\Firefox\Profiles\[PROFILE]
édition si nécessaireSAUVEGARDEZ LE FICHIER SUIVANT EN PREMIER !!
Ouvrez à
places.sqlite
partir du répertoire que vous avez ouvert à l'étape 4.SÉRIEUSEMENT, SAUVEGARDE D' ABORD !!
Cliquez sur l'onglet Exécuter SQL.
Entrez ceci:
Remplacer
x(2)
par 5 (dans votre exemple)Remplacez
2014-04-01
et2014-05-30
par la plage de dates que vous souhaitezAppuyez sur le bouton de lecture bleu.
Vérifiez si les sites affichés sont corrects (ils devraient l'être, mais revérifiez!)
Si tel est le cas, remplacez les deux premières lignes du code ci-dessus par:
de sorte que votre code ressemble à quelque chose comme:
TERMINÉ! Fermez le programme et cliquez sur enregistrer lors de la fermeture.
Fin des instructions
Et le
last_visit_date
?Je ne l'appellerais pas «crypté» (bien que je ne conteste pas qu'il semble crypté). C'est juste dans un autre «système». La date est dans le
Unix
système horaire (ouEpoch
/POSIX
). C'est le nombre de secondes qui se sont écoulées depuis 00:00:00 (UTC) le 1er janvier 1970. 1 heure est 3600 secondes. 1 an est 31556926 jours.Pour plus d'informations. consultez cet article Wikipédia ou ce site Web qui convertit le temps de et vers l'époque.
Captures d'écran (ignorez les requêtes SQL sur ces images, elles sont erronées. Celles-ci vous indiquent surtout où chercher)
Grâce à ;):
la source
moz_places
toutes les entrées qui n'ont plus de correspondantplace_id
.moz_historyvisits
place_id
dansmoz_historyvisits
=id
inmoz_places
?moz_historyvists
first (delete from moz_historyvisits as hv left join moz_places as p on hv.place_id = p.id where p.visit_count...
) ou 2. après effacementmoz_places
, vous pouvez supprimer demoz_historyvisits
toutes les entrées qui n'ont pas l'entrée correspondante . Je préfère personnellement l'option 1. Ne l'utilisez pas sans test; mon SQL est plutôt rouillé, et j'ai appris avec pgsql, pas sqlite. Vous pourrez peut-être supprimer les deux à la fois, lemme test.