Firefox 29 - 如何删除访问次数少于 x 次的历史条目

lou*_*ser 11 firefox history firefox-profile places.sqlite

语境:

我已经使用我的 Firefox 配置文件几年了。我的历史文件自然而然地变得巨大。我在主台式电脑和笔记本电脑之间设置了 Firefox 同步。

硬件配置:

  • PC:i5-3450、8 GB DDR3 RAM、Crucial M4 128 GB SSD
  • 笔记本电脑:奔腾 SU4100,4 GB DDR3 内存,WD 5400 rpm 硬盘

尽管配置不错,但在我桌面上的 Awesome Bar 中键入时访问历史条目需要很长时间,笔记本电脑甚至更慢。经验是相当反应迟钝。

我想如果我稍微清除一下历史记录,我可能会避免创建新的配置文件来加快速度。

问题本身:

为了显示:

历史

有没有办法删除所有访问次数少于 x(假设为 5)次并且同时最近访问少于 y(假设为 120)天的历史条目?

afaik 历史文件是某种 SQL 数据库,但我不确定数据是如何保存的,如果有一种“安全的方式”来编辑它以及我需要做什么查询会是什么样子。


我一直浏览以前的超级用户问题,看看是否能找到相关信息。

在我的 Firefox 配置文件目录中,有一个名为places.sqlite. 用 sqlite 打开它会显示(除其他外)表格moz_placesmoz_historyvisits. 似乎moz_historyvisits使用primary ofmoz_places来引用URL。

由于我不熟悉数据库,因此我不太了解引用中提到的两个表的相关方式。

部分表格截图 地点_sqlite

我注意到visit_count它采用标准格式,使其易于使用。在last_visit_date外观加密到我的肉眼,但我不能在其中看到的方式。

希望能帮到你,我已经无计可施了。

ᔕᖺᘎ*_*ᖺᘎᕊ 9

通过一些研究(参见末尾的“参考资料”),我提出了这个(某种)简单的解决方案:


首先备份。 首先关闭 Firefox


这需要你编辑的SQLite数据库(一个独立的SQL数据库;见维基百科文章)的Mozilla Firefox通过使查询找到满足条件的(在你的情况下,所有的记录-看不到5倍,并在没有访问过去 120 天)。


首先备份。 首先关闭 Firefox

说明开始:


这有效(测试并与我的 Firefox v. 29.0.1 一起使用)。在 12 个简单(ish)步骤中:

  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)
    
    Run Code Online (Sandbox Code Playgroud)
  8. 替换x(2)为 5(在您的示例中)

  9. 用你想要的日期范围替换2014-04-012014-05-30

  10. 按蓝色播放按钮。

  11. 检查显示的站点是否正确(应该正确,但请仔细检查!)

  12. 如果是,则将上述代码的前两行替换为:

    DELETE
    FROM moz_places
    
    Run Code Online (Sandbox Code Playgroud)

    所以你的代码看起来像:

    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)
    
    Run Code Online (Sandbox Code Playgroud)

完毕!关闭程序并在关闭时单击保存。

说明结束


怎么样的last_visit_date

last_visit_date 在我的肉眼看来是加密的,但我看不出是哪种方式。

我不会称它为“加密”(尽管我不反对它看起来是加密的)。它只是在另一个“系统”中。日期在Unix时间系统中(或Epoch/ POSIX)。它是自 1970 年 1 月 1 日 00:00:00 (UTC) 以来经过的秒数。1 小时是 3600 秒。1 年是 31556926 天。

欲了解更多信息。查看这篇 Wikipedia文章,或者这个将时间转换为纪元时间和从纪元时间转换的网站。


屏幕截图(忽略这些图像上的 SQL 查询,它们是错误的。这些主要是告诉你去哪里找)

SQLite 数据库浏览器 SQLite 数据库浏览器 SQLite 数据库浏览器

谢谢 ;):


归档时间:

查看次数:

1584 次

最近记录:

10 年,3 月 前