MozTW 討論區

各項 Mozilla 相關軟體與技術討論
現在的時間是 2025-06-14, 01:57

所有顯示的時間為 UTC + 8 小時





發表新文章 回覆主題  [ 38 篇文章 ]  前往頁數 123  下一頁
發表人 內容
文章發表於 : 2009-04-30, 00:43 
離線
[網站管理員]
頭像

註冊時間: 2004-11-06, 23:25
文章: 762
本文的減肥法已製成套件,請看 PlacesCleaner 收藏庫清潔工

本文發表於個人Blog:Bilog II: Firefox 3 日漸肥大的收藏庫減肥法M01PALMisLIFE

只要用了 Firefox 3 幾個月,你一定會感覺到反應明顯遲鈍了起來,尤其是在開啟、關閉、跟檢視歷史紀錄等跟「收藏庫」有關的功能上。今天我們要透過簡單的幾個指令,幫 Firefox 3 日漸肥大的收藏庫減肥!

Firefox 3 會把你所有上過的網站、輸入過的網址通通一五一十的紀錄在 Profile 目錄中的 places.sqlite 資料庫檔案裡。

這個檔案的位置在個人 profiles 的目錄中,目錄名稱是「亂碼.default」。
XP 在 C:\Documents and Settings\<user name>\Application Data\Mozilla\Firefox\Profiles\
Vista 放在 C:\Users\<user name>\AppData\Roaming\Mozilla\Firefox\Profiles\
Linux 在 ~/.mozilla/firefox/
Mac 在 家目錄\資源庫\Application Support\Firefox\Profiles\

圖檔

看看我的 places.sqlite,已經肥大到 414MB 了,而這不過是從去年 12 月底開始使用至今呢!最簡單的清理法就是直接把 places.sqlite 刪除,開啟 Firefox 時會自動重建這個檔案,但是瀏覽紀錄就全沒了。

圖檔

從收藏庫查看,可以發現已經記錄了 4 萬筆網站。Firefox 預設最多會保留四萬個網站、90 ~ 180 天的瀏覽紀錄,雖然可以調整 about:config 的 browser.history_expire_sites、browser.history_expire_days、browser.history_expire_days_min 等三個參數,控制相關設定,但是降低了 expire_days 或降低 expire_sites 的上限,又會使 Awesome Bar 的威力下降。

因此,我要使用簡單的 sql 命令,清除 places.sqlite 檔案中無用的紀錄,並保留實用的部份。Windows 的使用者請先前往 SQLite Download Page,下載 Precompiled Binaries For Windows 中的 sqlite-3_6_13.zip,解壓縮至目錄中,而 Mac OS X 已經內建了 sqlite3。

請事先備份你的 places.sqlite 檔案,並小心服用。進行前請先把 Firefox 關閉,如果沒關,我也不知道會發生什麼事情!

以下指令請在 Firefox 3 的 Profile 目錄下,以命令列逐行執行。

代碼:
sqlite3 places.sqlite "DELETE FROM moz_historyvisits WHERE place_id IN (SELECT id FROM moz_places WHERE visit_count <=2 );"
sqlite3 places.sqlite "DELETE FROM moz_places WHERE (visit_count <=2 AND hidden <> 1 AND id NOT IN (SELECT place_id FROM moz_annos UNION SELECT fk FROM moz_bookmarks));"
sqlite3 places.sqlite "DELETE FROM moz_inputhistory WHERE place_id NOT IN (SELECT id FROM moz_places);"
sqlite3 places.sqlite "DELETE FROM moz_favicons WHERE id NOT IN (SELECT favicon_id FROM moz_places);"


上述指令的主要意義是,將 places.sqlite 內瀏覽次數小於 2 次的瀏覽紀錄刪除,保留常去(瀏覽 3 次以上)的網站,使 Awesome Bar 的威力不至於打折。

此時需要先打開 Firefox,再關閉 Firefox。確認完全關閉後再繼續進行下一步。

代碼:
sqlite3 places.sqlite "VACUUM;"


完成之後,你的收藏庫就減肥完成啦。經過減肥之後,我的收藏庫居然從 414MB 降到只剩 40.2MB!

圖檔

再打開收藏庫看看,只剩下 2643 個項目。刪去了佔 9 成的那些不到兩次的瀏覽紀錄,成功的使 Firefox 3 回復該有的速度。

圖檔

感謝 @yllan@softcup分享,這是今天研究一個下午的成果。


最後由 Irvin 於 2009-04-30, 16:49 編輯,總共編輯了 2 次。

回頂端
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; zh-TW; rv:1.9.1b4) Gecko/20090423 Firefox/3.5b4 GTB5
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2009-04-30, 02:18 
離線

註冊時間: 2005-03-10, 05:42
文章: 62
真的有實用到
:D

_________________
只為自己做工的房間


回頂端
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.10) Gecko/2009042523 Ubuntu/9.04 (jaunty) Firefox/3.0.10
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2009-05-01, 01:51 
離線
[網站管理員]
頭像

註冊時間: 2004-11-06, 23:25
文章: 762
補充:很多朋友在問,這樣作跟使用 Firefox 內建的「清除隱私資料…」清除瀏覽紀錄有什麼不同?基本上的差別就是,清除隱私資料,會把所有的瀏覽紀錄清光光,我卻只想清除無用的那些紀錄,保留有用的部份。此外,清除隱私資料→清除瀏覽紀錄後,如果沒有做 sqlite vacuum 空間是不會釋出的(我也不知道會不會定期自動釋放)。

圖檔

經過小小的測試,上面的四個 places.sqlite 分別是以下操作所得:
(原檔案大小是 372.2 MB)
places.sqlite 1 Firefox 3 開啟→關閉→VACUUM 366.3MB
places.sqlite 2 Firefox 3 開啟→清除隱私資料→VACUUM 428KB
places.sqlite 3 Firefox 3.5b4 開啟→關閉→VACUUM 366.2MB
places.sqlite 4 Firefox 3.5b4 開啟→關閉→清除隱私資料→VACUUM 168kb
看來 Firefox 3.5 beta 4 對於 places.sqlite 的處理,似乎有比較乾淨一點。

除了瀏覽歷史外,places.sqlite 還存有各網站的 favicon 快取,Google Toolbar 或 Fastdial 之類擴充套件的資料等很多紀錄,所以沒辦法完全不要這個檔案。但是可以調整以下參數來控制 Firefox 3 對瀏覽歷史的保留動作。

代碼:
about:config
browser.history_expire_sites 瀏覽歷史中保留的網站數目,預設是 40000 個
browser.history_expire_days 瀏覽歷史的最長保留天數,預設是 180 天
browser.history_expire_days_min 瀏覽歷史的最短保留天數,預設是 90 天


然後把 places.sqlite 刪掉(記得先備份)讓 Firefox 3 自動重建資料庫。


回頂端
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; zh-TW; rv:1.9.0.10) Gecko/2009042315 Firefox/3.0.10 GTB5
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2009-05-01, 13:46 
離線
頭像

註冊時間: 2005-02-24, 19:15
文章: 1037
來自: Taiwan
同樣的指令在 Firefox 套件 SQLite Manager 之下操作,
整體的檔案瘦身效果比 sqlite3 好一些.

_________________
Amauds's Firefox
曾經妳以為最可靠的依賴;其實從未曾真實的存在過。
圖檔圖檔


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.9.0.11pre) Gecko/2009042811 GranParadiso/3.0.11pre (ayakawa PGU)
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2009-05-04, 22:19 
離線

註冊時間: 2008-09-21, 14:34
文章: 40
Amauds 寫:
同樣的指令在 Firefox 套件 SQLite Manager 之下操作,
整體的檔案瘦身效果比 sqlite3 好一些.


版大分享的東西不錯
我的從29MB瘦身到600KB左右

Amauds兄能分享 SQLite Manager 的用法嗎?
以前裝過可是不會用...


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.9.1b4) Gecko/20090426 Firefox/3.1b2 (.NET CLR 3.5.30729) (tete009 SSE PGO)
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2009-05-05, 19:38 
離線
[網站管理員]
頭像

註冊時間: 2004-11-06, 23:25
文章: 762
經過上週這篇文章發表後,收到很多網友的迴響。其中有一點令我好奇:有的網友 places.sqlite 很小,有的很大。收藏庫中同樣是數萬個網站的記錄,有的網友跟我一樣上百 MB,有的卻只有數 MB,非常奇怪,因此今天又趁機研究了一下。

由於收藏庫檔案增大的狀況每人不一,我開始懷疑有擴充套件在吃空間,因此把 places.sqlite 每個單獨的 table 拆開來看看容量。

這是我的 places.sqlite 的結構:

圖檔

我把每個 Table 獨立匯出後,每個 Table 大小如下(places.sqlite 檔案大小為 84 MB):

圖檔

很明顯的是,moz_annos 這張表佔了整個資料庫檔案總容量的 86%,問題一定出在這邊。annos table 的內容包含以下的部份,的確看到幾個擴充套件使用了這張表儲存資料。

圖檔

在我的收藏庫中 moz_annos 的內容,各 ID 筆數分別為:10(網頁編碼)117 筆、14 "google-toolbar/thumbnail" 2971 筆、15 "google-toolbar/thumbnail-score" 2971 筆。

看到這邊,已經確認問題出在 Google Toolbar 工具列這個擴充套件上。其中 ID 14 的 "google-toolbar/thumbnail",兩千多筆資料,每筆竟然都是 base 64 編碼的 png 圖檔。

讓我們取出一筆來 Decode:

圖檔

得到某個網站的縮圖:

圖檔

其實這是 Google Toolbar 5 的新功能「新分頁」所使用的縮圖:

圖檔

如果各位朋友跟我一樣,對這個畫面沒有什麼印象。可以開啟下述網址看看:

代碼:
chrome://google-toolbar/content/new-tab.html


此外,@littlebtc 發現 Bugzilla 中,已經有人回報這個問題:Bug 489173 – Latest Google Toolbar Appears to Make places.sqlite Massive,也有人回報給 Google。我先前安裝的 Google Toolbar 5 for Mac 版本是 5.0.20090122Mb2,最新的 5.0.20090324M 版不知道是否已經修正了這個問題。

這個功能,可以在 Google Toolbar 的設定畫面中,透過取消主畫面倒數第三個選項「啟用 Google 新分頁網頁」來關閉。

圖檔

現在鎖定問題,讓我們來修改一下,上一篇文章中的收藏庫瘦身指令:

以下使用簡單的 sql 命令,清除 places.sqlite 檔案中無用的紀錄,並保留實用的部份。Windows 的使用者請先前往 SQLite Download Page,下載 Precompiled Binaries For Windows 中的 sqlite-3_6_13.zip,解壓縮至目錄中,而 Mac OS X 已經內建了 sqlite3。

請事先備份你的 places.sqlite 檔案,並小心服用。進行前請先把 Firefox 關閉,如果沒關,我也不知道會發生什麼事情!以下指令請在 Firefox 3 的 Profile 目錄下,以命令列逐行執行。

代碼:
sqlite3 places.sqlite "DELETE FROM moz_historyvisits WHERE place_id IN (SELECT id FROM moz_places WHERE visit_count <=2 );"
sqlite3 places.sqlite "DELETE FROM moz_places WHERE (visit_count <=2 AND hidden <> 1 AND id NOT IN (SELECT place_id FROM moz_annos UNION SELECT fk FROM moz_bookmarks));"
sqlite3 places.sqlite "DELETE FROM moz_inputhistory WHERE place_id NOT IN (SELECT id FROM moz_places);"
sqlite3 places.sqlite "DELETE FROM moz_favicons WHERE id NOT IN (SELECT favicon_id FROM moz_places);"
sqlite3 places.sqlite "DELETE FROM moz_annos WHERE anno_attribute_id IN (SELECT id FROM moz_anno_attributes WHERE name = 'google-toolbar/thumbnail-score' OR name = 'google-toolbar/thumbnail');"   


最後一行正是鎖定了 Google Toolbar 的記錄來刪除。此時需要先打開 Firefox,再關閉 Firefox。確認完全關閉後再繼續進行下一步。

代碼:
sqlite3 places.sqlite "VACUUM;"


完成之後,你的收藏庫就減肥完成啦。經過第二次減肥,我的收藏庫從 414MB 降到只剩 5MB!

圖檔


回頂端
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; zh-TW; rv:1.9.0.10) Gecko/2009042315 Firefox/3.0.10 GTB5
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2009-05-07, 00:44 
離線

註冊時間: 2008-12-04, 19:05
文章: 140
OH,難怪我的Firefox 3.0.8免安裝版資料都沒很大過,因為我沒裝Toolbar的習慣...

右上的搜尋工具夠滿足我了OTL...

不過還是感謝提供減肥法 :D


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2009-05-07, 19:42 
離線

註冊時間: 2005-07-12, 14:25
文章: 15
非常謝謝這很好的方法 :lol: :lol: :lol:


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10 (.NET CLR 3.5.30729)
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2009-06-26, 13:25 
離線

註冊時間: 2005-11-02, 21:08
文章: 25
想請問一下,
如果關閉儲存歷史還會有這種肥大的問題嗎?

把 browser.history_expire_sites、browser.history_expire_days、browser.history_expire_days_min
調低具體會減少什麼功能?

--
感謝樓下m(_ _)m


最後由 sos2007 於 2009-06-27, 23:48 編輯,總共編輯了 1 次。

回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.8.1.16) Gecko/20080702 Firefox/2.0.0.16
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2009-06-27, 22:17 
離線
[網站管理員]
頭像

註冊時間: 2006-11-22, 16:07
文章: 560
sos2007 寫:
想請問一下,
如果關閉儲存歷史還會有這種肥大的問題嗎?

把 browser.history_expire_sites、browser.history_expire_days、browser.history_expire_days_min
調低具體會減少什麼功能?


請參閱
viewtopic.php?t=24449

 

_________________


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.9.1) Gecko/20090624 Firefox/3.5
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2009-07-02, 10:54 
離線

註冊時間: 2009-07-02, 10:31
文章: 7
哈,剛試過大大提供的減肥方法

好有用咯


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2009-07-04, 23:11 
離線
頭像

註冊時間: 2005-03-19, 23:36
文章: 3
來自: 地球
我想問一個蠢問題
mac下
怎麼做您以下說的?
「以下指令請在 Firefox 3 的 Profile 目錄下,以命令列逐行執行。」


回頂端
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; zh-TW; rv:1.9.0.11) Gecko/2009060214 Firefox/3.0.11
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2009-07-05, 11:00 
離線
頭像

註冊時間: 2004-11-19, 00:07
文章: 482
來自: 閃光彈的家
phame 寫:
我想問一個蠢問題
mac下
怎麼做您以下說的?
「以下指令請在 Firefox 3 的 Profile 目錄下,以命令列逐行執行。」
請參考 這篇留言

_________________
我的部落格


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.9.1) Gecko/20090624 Firefox/3.5
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2009-07-05, 21:59 
離線
頭像

註冊時間: 2005-03-19, 23:36
文章: 3
來自: 地球
謝謝!


回頂端
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_7; zh-tw) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Safari/530.17
 個人資料  
引用回覆  
文章發表於 : 2009-07-28, 16:36 
離線

註冊時間: 2008-06-02, 12:15
文章: 6
自動減肥收藏庫等數據庫uc.js腳本google關鍵字OptimizeSQLite:http://www.google.com/


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.0; zh-CN; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6
 個人資料  
引用回覆  
顯示文章 :  排序  
發表新文章 回覆主題  [ 38 篇文章 ]  前往頁數 123  下一頁

所有顯示的時間為 UTC + 8 小時


誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 12 位訪客


不能 在這個版面發表主題
不能 在這個版面回覆主題
不能 在這個版面編輯您的文章
不能 在這個版面刪除您的文章
不能 在這個版面上傳附加檔案

搜尋:
前往 :  
Powered by phpBB® Forum Software © phpBB Group
正體中文語系由 竹貓星球 維護製作
© moztw.org, Mozilla Foundation
MozTW,Mozilla 台灣社群