Contexto:
He estado usando mi perfil de Firefox durante un par de años. Mi archivo de historia se ha vuelto enorme, naturalmente. Configuré Firefox Sync entre mi PC de escritorio principal y mi computadora portátil.
HW configs:
- PC: i5-3450, 8 GB DDR3 RAM, Crucial M4 128 GB SSD
- computadora portátil: Pentium SU4100, 4 GB DDR3 RAM, WD 5400 rpm HDD
Acceder a las entradas del historial al escribir en la barra impresionante en mi escritorio lleva bastante tiempo a pesar de la configuración decente, la computadora portátil es aún más lenta. La experiencia es bastante insensible.
Pensé que si borraba un poco el historial, podría evitar crear un nuevo perfil para acelerar las cosas.
La pregunta en sí:
Para ilustrar:
¿Hay alguna forma de eliminar todas las entradas del historial que se han visitado menos de x (digamos 5) veces y al mismo tiempo la visita reciente tiene menos de y (digamos 120) días de antigüedad?
afaik el archivo de historial es una especie de base de datos SQL, pero no estoy realmente seguro de cómo se guardan los datos, si hay una "forma segura" de editarlo y cómo sería la consulta para hacer lo que necesito.
Seguí navegando por las preguntas anteriores de SuperUser para ver si podía encontrar información relevante.
En mi directorio de perfil de Firefox, hay un archivo llamado
places.sqlite
. Abrirlo con sqlite revela (entre otros) las tablasmoz_places
ymoz_historyvisits
. Parece quemoz_historyvisits
usa el primario demoz_places
para referirse a las URL.
Como no estoy familiarizado con las bases de datos, realmente no entiendo la forma en que las dos tablas mencionadas en la cita están relacionadas.
captura de pantalla de una parte de las tablas
Me di cuenta de que visit_count
está en un formato estándar, por lo que es fácil trabajar con él. Las last_visit_date
miradas encriptadas a simple vista, pero no puedo ver de qué manera.
Espero que ayude, estoy al final de mi ingenio.
fuente
Respuestas:
Con un poco de investigación (ver al final para 'referencias'), he encontrado esta (tipo de) solución simple:
RESPALDO PRIMERO. CIERRE FIREFOX PRIMERO
Esto requiere que edite la Base de datos SQLite (una base de datos SQL autónoma; consulte el artículo de Wikipedia ) de Mozilla Firefox haciendo una consulta para encontrar todos los registros que satisfagan la condición (en su caso, visto menos de 5 veces y no visitado en el últimos 120 días).
RESPALDO PRIMERO. CIERRE FIREFOX PRIMERO
Instrucciones de inicio:
Esto funciona (probado y trabajando con mi Firefox v. 29.0.1). En 12 sencillos (ish) pasos:
Instalar el navegador de base de datos SQLite
Abrelo
Haga clic en Abrir base de datos
Navegue a la
C:\Users\[USER]\AppData\Roaming\Mozilla\Firefox\Profiles\[PROFILE]
edición según sea necesarioCopia de seguridad del archivo siguiente PRIMERA !!
Abra
places.sqlite
desde el directorio que abrió en el paso 4.EN SERIO, RESPALDO PRIMERO !!
Haga clic en la pestaña Ejecutar SQL.
Ingrese esto:
Reemplace
x(2)
a 5 (en su ejemplo)Reemplace
2014-04-01
y2014-05-30
con el rango de fechas que deseaPresione el botón azul de reproducción.
Compruebe si los sitios que se muestran son correctos (deberían serlo, ¡pero verifique dos veces!)
Si lo son, reemplace las dos primeras líneas del código anterior con:
entonces su código se parece a:
¡HECHO! Cierre el programa y haga clic en guardar al cerrar.
Final de instrucciones
¿Qué pasa con el
last_visit_date
?No lo llamaría 'encriptado' (aunque no estoy de acuerdo con que se vea encriptado). Es solo en otro 'sistema'. La fecha está en el
Unix
sistema horario (oEpoch
/POSIX
). Es el número de segundos que han pasado desde las 00:00:00 (UTC) del 1 de enero de 1970. 1 hora es 3600 segundos. 1 año es 31556926 días.Para más información. consulte este artículo de Wikipedia o este sitio web que convierte el tiempo de una época a otra.
Capturas de pantalla (ignore las consultas SQL en estas imágenes, están equivocadas. Estas son para decirle principalmente dónde buscar)
Gracias a ;):
fuente
moz_places
las entradas que ya no tienen un correspondienteplace_id
.moz_historyvisits
place_id
enmoz_historyvisits
=id
enmoz_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...
) o 2. después de borrarmoz_places
, puede eliminar demoz_historyvisits
cualquier entrada que no tenga la entrada correspondiente . Prefiero la opción 1 personalmente. No lo use sin probar; mi SQL está bastante oxidado, y aprendí con pgsql, no sqlite. En realidad, es posible que pueda eliminar de ambos a la vez, déjame probar.