阅读:2715回复:14
firefox删除大量历史记录时非常卡
firefox删除大量历史记录时非常卡。
尤其是数量达到10000后,不知为何firefox是300条300条的删除,数量一旦上万,开头每300条卡个10分钟都可能。处理器3代i3,还跟的上时代。 是sqlite的问题,还是firefox的问题? |
|
最新喜欢:liveli... |
1楼#
发布于:2015-12-22 18:13
yfdyh000:补充,楼上说的应该是这个 https://bugzilla.mozilla.org/show_bug.cgi?id=734643 及其依赖。回到原帖https://bugzilla.mozilla.org/show_bug.cgi?id=1117546。今年还有人继续提出呢。看了下最晚06年就有相关问题。 此外我这里是固态硬盘,io方面应该没有问题。 |
|
2楼#
发布于:2015-12-23 14:38
pcxfirefox:好吧 我说下简单的解决方案 直接基于Sqlite来删除 我一般都是这样大规模删减的 不错的办法。 以前没有发现compact功能。。。 |
|
3楼#
发布于:2015-12-23 16:41
yfdyh000:可能是操作数据库的方式很笨(频繁检查/循环/逐个操作,并会逐个保存),也可能是非异步被UI更新阻止了。没研究过,只是猜测。回到原帖这个可能和情景有关。 当我通过firefox来删除历史记录的时候,过程是先选择一个时间的历史记录(firefox似乎不能选中所有记录),然后按访问次数排序,然后选中低于某一个数的所有记录,然后删除。这种方式下firefox一般的逻辑可能是按我选中的记录(或者搜索的记录),一条一条(通过名字吧,一般不会是id吧,毕竟我在选择的时候只能看到名字这些东西,而不是数据库操作的抽象的东西),这样就每一次删除都必须经过不同的搜索、删除。 但是当直接操作数据库的时候,可以明确条件,一次性检索出来,一次性删除。 情景设计上firefox不知道我选择的上万条记录是有内在联系的,但操作数据库的时候我可以告诉数据库。这样一个是一万次独立操作,一个单次的操作。差别就很大了。 如果是这样的话就建议firefox增强一下历史记录的管理。增加一些逻辑性的选择,比如我这种删除仅仅访问过一次的记录,以及给访问记录设个上限(我不觉得一个网站被记录500次和500万次有什么区别,使用上都会马上被检索到),或者有一定的自动删除功能等等。 |
|
4楼#
发布于:2015-12-23 16:54
|
|