調整 sqlite 檔案以加快 Firefox 開啟速度 (Win)
Firefox 至 3.0 之後,便開始採用 SQLITE 來儲存書籤、瀏覽紀錄和反釣魚等資訊,而支援 Firefox 的套件也有不少是使用 SQLITE 來儲存資料。而隨著時間的增長,資料庫只會越變越大,檔案變大便會影響 Firefox 開啟的速度。
而網路上其實已經有很多文章在講這類的教學嚕!寫這篇則是分享一下 snese 寫的 batch 檔和解釋一下所謂的”壓縮”是怎麼一回事。
一開始就切入主題,介紹執行的步驟:
- 將 Firefox 先關掉(不然檔案會被鎖住,無法進行瘦身的動作)。
- 將 snese 寫的 batch 檔,儲存至你電腦上的任一個位置。
- 如果沒有 SQLITE3 請先下載,且解壓縮至與 batch 檔同一個位置。
- 執行 batch 檔。
- 大功告成。
針對 XP 所寫的 batch 檔:
:: Author: snese (Lo Hung-Che) :: Date: 2009/07/05 :: Description: This batch file is the function of automatic elimination of redundant space. @echo off :: remember the first place set PATH1=%CD% :: profile directory in XP set PATH2=C:\Documents and Settings\Administrator\Application Data\Mozilla\Firefox\Profiles set PATH3=C:\Documents and Settings\Administrator\Local Settings\Application Data\Mozilla\Firefox\Profiles FOR /F %%i in ('dir "%PATH2%" /b') do cd %PATH2%\%%i :: backup places.sqlite @COPY "places.sqlite" "places.sqlite.OLD" FOR %%i in (*.sqlite) do @echo VACUUM; | %PATH1%sqlite3 %%i FOR /F %%i in ('dir "%PATH3%" /b') do cd %PATH3%\%%i FOR %%i in (*.sqlite) do @echo VACUUM; | %PATH1%sqlite3 %%i
因為沒 Vista 實測,所以就沒寫對應的 batch 檔,但基本上只要改一改路徑的部份就能跑了!此外由於 snese 對於寫 batch 檔的功力還算是個門外漢,所以有更優更棒的寫法,snese 會虛心接受指教!
最後來討論一下為什麼要這樣做呢?因 SQLITE 檔案格式的設計是將新資料一直附加上去的,就算是中間有 DROP 掉一些資訊,它還是會留存空間好重覆利用,不過資料庫空間常因此而大於基本需求,加上不斷的新增、更新和刪除的動作造成資料支離破碎不是集中於一個地方。
VACUUM 的功用,就好比是將資料庫的檔案重組且刪除多餘的空間,使其排列較為緊密,查詢更有效率。而我們就是利此指令的特性,來完成我們所期望的Firefox SQLITE 檔案瘦身且開啟速度加快。
Recent Comments