จริง ๆ เรื่องนี้ผมว่าจะเขียนตั้งแต่เดือนกรกฎา แต่เพราะไม่รู้ว่าจะเขียนยังไงให้พวกคุณ ๆ เอาไปใช้กันได้ง่าย ๆ ก็เลยซุ่มทำอะไรบางอย่างให้เอาไปใช้กันง่าย ๆ อยู่  แต่เมื่อเวลาผ่านไป... ไอ้ที่ซุ่มก็เปลี่ยนเป็นอู้ จึงไม่มีอะไรคืบหน้า...  โชคดีของทุกท่านที่มีคนค้นพบวิธีทำแบบ "ง่าย ๆ" เมื่อไม่นานมานี้เอง ซ้ำยังทำเป็น Add-on ตามมาอีกมากมาย ก็เลยได้มาเขียนนี่แหล่ะ

 

  อะไรคือการ "ดูดฝุ่น"

  
เรื่องมันเริ่มมาจาก... ตั้งแต่ Firefox 3.0 เป็นต้นมา ได้มีการเปลี่ยนรูปแบบการเก็บข้อมูลใหม่ จากไฟล์ Text ธรรมดา ๆ ไปเป็นระบบ Database ที่ชื่อ SQLite  ทำให้ Firefox ทำงานกับข้อมูลมหาศาลได้รวดเร็วขึ้น  เห็นได้จากการที่ Firefox 3.0 มีการตั้ง History ไว้ถึง 90 วัน (จากเดิม 9 วันในรุ่นก่อนหน้า) และยังทำให้ทาง Mozilla กล้าใส่ลูกเล่น Awesome Bar ซึ่งต้องใช้การค้นหาข้อมูลอย่างหนักหน่วงลงไปได้อย่างสนิทใจอีกด้วย

แต่... ระบบฐานข้อมูลนั้นมีจุดอ่อน นั่นก็คือ เมื่อมีการลบข้อมูลออกไปจะทำให้เกิดช่องว่างขึ้นมา และยิ่งมีการลบบ่อยก็ยิ่งเกิดช่องว่างกระจายไปทั่วฐานข้อมูล ซึ่งไอ้ช่องว่างพวกนี้มันก็ไม่ต่างอะไรกับฟองอากาศที่กินพื้นที่ในขวด ต่างกันตรงที่ขวดมันขนาดเท่าเดิม แต่ฐานข้อมูลมันจะใหญ่ขึ้นเรื่อย ๆ โดยเฉพาะ Places.sqlite ซึ่งเก็บ Bookmarks กับ History (จนถึงพฤติกรรมของ Awesome bar) จะมีขนาดใหญ่มากเป็นพิเศษ และถ้าใหญ่เกินไปจะส่งผลให้ Awesome bar ทำงานช้าลง จนไปถึงทำให้ Firefox อืดไปทั้งตัวเลยก็ได้

ดังนั้นเราจึงต้องดูดฟองอากาศพวกนี้ออก (ถ้าพูดตามตรงคือเลื่อนข้อมูลให้มาอยู่ติดกันน่ะแหล่ะ) แล้วจะทำยังไงล่ะ?

 

  วิธีที่ 1 : ใช้คำสั่ง Sqlite ตรง ๆ (ยากมาก ข้ามไปอ่านวิธีอื่นเหอะ)

  
วิธีนี้เป็นวิธีแรกที่ได้รับการเผยแพร่ แต่มันค่อนข้างยากสำหรับคนทั่วไป (โดยเฉพาะคนที่เกิดไม่ทันใช้ DOS) วิธีการคือ...

  1. ไปโหลด SQLite 3 มาจาก http://www.sqlite.org/download.html

  2. Unzip sqlite3.exe ไปไว้ที่โฟลเดอร์ Profile ที่มีไฟล์ .sqlite อยู่ (%appdata%\Mozilla\Firefox\Profiles แล้วเข้าไปที่โฟลเดอร์ย่อยของ Profile อีกที)
     
  3. ปิด Firefox ให้เรียบร้อย (ถ้าปิดไม่เรียบร้อยก็ไม่ตาย แต่มันจะไม่ได้อะไรเลย)
     
  4. ใช้ Command Prompt เข้าไปที่โฟลเดอร์ดังกล่าว แล้วพิมพ์คำสั่ง..

                      sqlite3
    ชื่อไฟล์.sqlite VACUUM

    โดย
    ชื่อไฟล์.sqlite หมายถึง ไฟล์ Sqlite ที่ต้องการดูดฝุ่น เช่น Places.sqlite
     
  5. จะไม่มีอะไรเกิดขึ้นเลย นอกจากอาการค้างไปพักนึง และถ้าได้ผล ขนาดไฟล์ดังกล่าวจะเล็กลง

 

และจากคำสั่ง SQLite ที่ชื่อ VACUUM นี่แหล่ะ ผมจึงเรียกวิธีนี้ว่า "ดูดฝุ่น"

  วิธีที่ 2 : ใช้คำสั่งจากในตัว Firefox (ไม่ยาก แต่อย่าก็อปไม่ครบละกัน)

  
เนื่องจากในตัว Firefox ก็มี SQlite อยู่แล้ว (ถึงได้อ่านเขียนไฟล์ SQLite ได้ไงล่ะ) จึงมีวิธีลัดให้ Firefox ใช้คำสั่ง Vacuum กับฐานข้อมูลด้วยตัวมันเองอยู่ด้วย ซึ่งมีผู้ค้นพบเมื่อเร็ว ๆ นี้นี่เอง
 

 

  1. เปิด Error Console ของ Firefox ขึ้นมาครับ อยู่ในเมนู Tools นั่นแหล่ะ หรือจะใช้คีย์ลัด Ctrl+Shift+J เรียกมาก็ได้
     
  2. ตรงช่อง Code : (ต้นฉบับ) ให้ใส่โค้ดข้างล่างนี้ลงไป ก็อปให้หมดล่ะ ขึ้นต้น Components ลงท้ายด้วย ("VACUUM"); และต้องให้อยู่ในบรรทัดเดียว
     
    	Components.classes["@mozilla.org/browser/nav-history-service;1"].getService(Components.interfaces.nsPIPlacesDatabase).DBConnection.executeSimpleSQL("VACUUM");
    	

  3. ใส่แล้วก็กด Evaluate (หาค่า) แล้ว Firefox จะค้างไปพักนึง ให้รอจนกว่าจะเลิกค้างครับ (อาจจะนานสักหน่อย ให้อดทนไว้ เพราะถ้าไปยุ่งอะไรกับมันตอนนี้ อาจมีพัง )

  4. ถ้าได้ผล ขนาดไฟล์ Places.sqlite จะลดลงครับ

  วิธีที่ 3 : ใช้ Add-ons

  
หลังจากมีคนค้นพบวิธีที่ 2 ไม่นานนัก (แค่ 3 - 4 วันเองมั้ง) ก็มีคนทำ Add-on จากวิธีที่ 2 มาให้ใช้กันสะดวก ๆ ถึง 3 ตัวแล้ว  แต่ตัวที่นิยมที่สุดในระยะเวลาสั้น ๆ คือ Vacuum Places Improved

 

วิธีใช้ Add-on ตัวนี้ไม่มีอะไรมาก แค่คลิกที่ไอค่อนของมันที่ Status bar แล้วรอสักครู่จนมันบอกว่า "ดูดเสร็จแหล่ว" ก็โอเค นอกจากนั้นยังสามารถตั้งได้ว่า จะให้มันดูดฝุ่นโดยอัตโนมัติทุก ๆ กี่ครั้งที่เปิด Firefox ขึ้นมา

 


 

Add-on ตัวนี้ยังอยู่ในขั้นทดลอง (เนื่องจากเพิ่งออกมาได้ไม่นาน)  แต่หลายคนลองใช้แล้วไม่พบปัญหาอะไรครับ

 

ส่งท้าย 

ถ้ามาถึงตรงนี้แล้วยังงงว่า ไอ้ที่ผมกล่าวมาทั้งหมดมันใช้ทำอะไรกันแน่? ก็ดูผลตรงนี้ครับ

 

นี่เป็นภาพจากการ Vacuum (ดูดฝุ่น) ครั้งแรก กับฐานข้อมูลที่สะสมมาตั้งแต่สมัย Firefox 3.0 ออกใหม่ ๆ จะเห็นว่าขนาดไฟล์ลดไปเกือบ 10 เม็กทีเดียว แล้วลองนึกภาพการงมเข็มในสระน้ำที่เล็กลงดู มันจะหาเร็วขึ้นใช่มั้ยล่ะ  

สรุปคือ... เมื่อดูดฝุ่นให้ฐานข้อมูลแล้ว Firefox จะทำงานเร็วขึ้น อาจจะเปิดเร็วขึ้น อาจจะเบาขึ้น ฉิวขึ้น ก็แล้วแต่ว่าฐานข้อมูลของคุณมันหมักหมมอะไรไว้แค่ไหน

ถ้าถามว่าต้องทำบ่อยแค่ไหน? ก็ไม่ต้องบ่อยครับ เพราะถ้าไม่มีช่องว่างเกิดขึ้นในฐานข้อมูลมากมาย ทำไปก็ไม่ได้อะไร รอสะสมมาก ๆ สัก 50 - 90 วัน หรือสักปีนึงแล้วทำทีเดียวดีกว่า สะใจ

และถ้าสงสัยว่า เอ... นี่มันก็เหมือนการ Defrag ฮาร์ดดิสก์ใช่มั้ย   ก็ขอตอบว่า เป๊ะเลยครับ

 

ข้อมูลอ้างอิง

 

ป.ล. Firefox ตั้งแต่ 2.0 ลงไป จะใช้วิธีไหน ๆ ก็ไม่ได้นะครับ เพราะไม่ได้ใช้ SQLite

 

Comment



smilebig smileopen-mounthed smileconfused smilesad smileangry smiletonguequestionembarrassedsurprised smilewinkdouble winkcry

Tweet

Hot! double wink

#1 By Nancy อารมณ์ดี on 2009-08-30 16:06

ขอบคุณครับ กำลังหาเลย

confused smile

ปล. ผมไม่ได้เล่น Exteen แต่ชอบมานั่นอ่านแล้วเม้นให้บทความแจ่มๆ

#3 By PikCoLoKuNG (125.27.129.49) on 2009-08-30 16:31

เยี่ยมไปเลยconfused smile

#4 By พ. on 2009-08-30 16:36

cry cry

Hot! Hot! Hot! Hot!

#5 By ♥..Ta๊y๋l๏r๊~ * on 2009-08-30 16:50

ขอบคุณครับcry

#6 By DeathTheKid on 2009-08-30 16:59

ลองวิธีแรก ได้ผลครับ big smile

#7 By raQuiam (58.9.199.21) on 2009-08-30 17:02

เยี่ยมเลยค่ะ cry

#8 By ★☆KyuubixUsagi on 2009-08-30 18:15

Hot! เยี่ยมbig smile

#9 By cartoonst on 2009-08-30 18:25

ขอบคุณครับผม confused smile Hot! Hot!

#10 By :: Ton~Ngiw :: on 2009-08-30 19:18

เหมือน defrag เลย
เยี่ยมยอด!!!Hot!

#11 By =*MoonShiNe Ze*= on 2009-08-30 19:38

วิธีสุดท้ายเจ๋งเป้งเลย

#12 By inatmon on 2009-08-30 19:41

เยี่ยมไปเลยค่ะ Hot!

#13 By 59ukefan on 2009-08-30 20:42

เยี่ยม !!! มันจะได้เลิกหน่วงเสียที big smileHot!

#14 By Zeedprogram on 2009-08-30 20:50

นินคุงสุดยอดHot!

#15 By Prite -The Hell Beat- on 2009-08-30 21:07

สุดยอดเลยครับ ขอบคุณมากๆHot!

#16 By Ben Kyou Su Goi on 2009-08-30 21:16

ป๊าด ลองแล้ว ไวขึ้นทันตาHot!

#17 By 13ankster on 2009-08-30 22:11

Hot! Hot! Hot!
ความรู้ใหม่ ขอบคุณมากคะ ขนาดของเราตั้ง 90MB+ แนะ เหลือ 80 กว่าๆ เร็วขึ้นจมเลย

#18 By ThaiAnime on 2009-08-30 22:12

ว้าว~~

Hot!

#19 By i'mDOZENIST on 2009-08-30 22:50

big smile Hot!

#20 By b-padung Studio on 2009-08-30 23:58

ขอบคุณมากๆค่ะ รู้สึกอยู่ว่าช่วงนี้ไฟฟอกซ์ทำไมมันช้าไป

Hot!

#21 By อาผิง on 2009-08-31 00:13

Hot! big smile

#22 By iQ180 on 2009-08-31 07:03

Hot! ขอบคุณค่ะ

#23 By ตัวแอล on 2009-08-31 11:12

ขอบคุณครับ big smile

#24 By 'ฟาย..ฟลาย on 2009-08-31 11:40

โอ้ว บร๊ะเจ้า มานโจ๊กมาก cry ขอบคุณครับ

#25 By กัณฐ์ on 2009-08-31 13:00

ขอบคุณที่มีของดีๆมาแนะนำครับ ต้องเอาไปลองแล้ว confused smile

Hot!

#26 By Roquefort on 2009-08-31 13:36

เจ๋ง
ขอบคุณมากเลยครับ

#28 By เจ้าชายน้อย on 2009-08-31 15:20

Hot! Hot!

แหล่มเน้อออออ

#29 By K!z•冬 ~ on 2009-08-31 15:42

ลองทำดูดูเหมือนจะเห็นผลครับ Hot!

#30 By Ratcicle on 2009-08-31 16:12

ขอบคุณมากๆเลยค่ะ กำลังมีปัญหาพอดีเลย Hot! Hot! Hot! Hot!
ใช้ตัวที่สามอยู่ค่า confused smile Hot!

#32 By W★G on 2009-08-31 16:52

เยี่ยมเลยครับ ขอบคุณครับ

Hot! Hot! Hot! Hot!

#33 By j-di on 2009-08-31 16:57

สุดยอดครับ!cry

#34 By Akara_gat on 2009-08-31 18:41

Hot! Hot! Hot!

ขอบคุณคะ !! ^ ^

#35 By † ¨ O I L z ¨ † on 2009-08-31 19:07

Hot! open-mounthed smile

#36 By Daisuke*-0- on 2009-08-31 19:07

แหล่มเลย
ขอบคุณมากค่า Hot! Hot! Hot!

#37 By KAEWIIZ♥ on 2009-08-31 19:47

เคยลองทำวิธีแรกค่ะ
เดี๋ยวลองโหลด Add-ons มาใช้ดูบ้างดีกว่า

#38 By ~memay~ on 2009-08-31 20:35

Hot! Hot!

แหล่มค่ะ!! cry

#39 By ★ Lera Bell on 2009-08-31 21:06

โอ้ววว ..


นำไปใช้ ๆ ^^
Hot! Hot! Hot!
ขอบคุณฮะ

#40 By 'k2xiiah # 케이투시아™ on 2009-08-31 21:37

Hot!

#41 By นักธรรมเอก on 2009-08-31 21:49

ลงชื่ออ่าน

#42 By ซูเนะโอะ on 2009-08-31 22:14

มาแล้ว มาแล้ว ขอบคุณมากๆ เลยครับ

ไปหาเทคนิคนี้มาจากไหนเนี้ย สุดยอดๆ

ลดไขมันจิ้งจอกไฟไปได้เยอะเลยconfused smile Hot!

#43 By ::poompuien:: on 2009-08-31 23:01

ขอบคุณมากค่ะ

Hot! Hot! Hot!

#44 By ★ I.IM on 2009-08-31 23:05

ขอบคุณค่า กำลังหาวิธีทำให้หมาไฟหายอืดอยู่เลย cry Hot! Hot! Hot!

#45 By neko on 2009-08-31 23:25

โอ้ววว
ขอบคุณหลายๆค่าHot!

#46 By Hed-noi on 2009-08-31 23:31

Hot! Hot! Hot!

ขอบคุณมากค่า

ได้วิธีดีๆไปใช้แล้ว>.<

#47 By Opiumzz on 2009-08-31 23:37

ว้าววว

ขอบคุณค๊าา

#48 By Saffron on 2009-08-31 23:42

แหล่มๆๆๆ ยังงี้ต้องลองbig smile big smile Hot!

#49 By i_am_alive on 2009-09-01 00:46

ขอบใจนะจ๊ะcry cry

#50 By ปลาทู on 2009-09-01 00:47

NinkungZ View my profile


Favourites


View My Stats