第 1 頁 (共 2 頁)
[問題]可否空清search table的內容?
發表於 : 2007-01-27 11:28
由 china2000
今天和我的ISP技術員閒聊!他說這兩個table是可以空清的以便減少空間!這兩個table只是用於搜尋方法!空清後亦會因用戶使用搜尋功能時自動加記錄!一如Internet Explorer中的Internet Temporary一樣!我當時有懷疑但沒有反駁他!請問他說的是無聊話嗎?
phpbb_search_wordlist
phpbb_search_wordmatch
發表於 : 2007-01-27 15:07
由 ~倉木麻衣~
他並沒有說錯, 這兩個資料表的內容是可以清空的
發表於 : 2007-01-27 18:43
由 china2000
老師,
那假若我清空這兩個資料表的內容後(phpbb_search_wordlist 和 phpbb_search_wordmatch),會不會對論壇運作速度有影響呢?還是不要理會它倆?我的論壇SQL database裡這兩個資料表的內容約有280MB!
Best rgds,
China2000
發表於 : 2007-01-27 19:26
由 chiouss
china2000 寫:那假若我清空這兩個資料表的內容後(phpbb_search_wordlist 和 phpbb_search_wordmatch),會不會對論壇運作速度有影響呢?
有影響的話怎麼會跟你說可以清?
china2000 寫:還是不要理會它倆?我的論壇SQL database裡這兩個資料表的內容約有280MB!
要不要清看你高興

通常我是在轉出/轉入 SQL 的時候忽略這兩個 table 的資料而已...
發表於 : 2007-01-29 00:08
由 心靈捕手
china2000 寫:老師,
那假若我清空這兩個資料表的內容後(phpbb_search_wordlist 和 phpbb_search_wordmatch),會不會對論壇運作速度有影響呢?還是不要理會它倆?我的論壇SQL database裡這兩個資料表的內容約有280MB!
Best rgds,
China2000
這些資料居然有 '280MB'?
即使不做資料的轉移, 也應該適時地清空它們;
清空後, 不但不會對論壇運作速度有不良影響, 反而有益.
試問:
體重輕的人跑得快, 還是體重重的人呢?
發表於 : 2007-01-29 09:06
由 china2000
謝謝各位老師、學長教導,學生先在後台關閉論壇後,進入phpMyAdmin空清(phpbb_search_wordlist 和 phpbb_search_wordmatch)這兩個table,再回論壇查看運作,一切正常!
減肥成功了 
發表於 : 2007-02-18 16:13
由 hollowaysxp
那這兩張表一定有用處...
發表於 : 2007-02-18 22:05
由 ckmarkhsu
hollowaysxp 寫:那這兩張表一定有用處...
應該是沒有,如果我沒記錯,目前竹貓的 phpBB 是直接搜尋 topic 資料表
用類似 LIKE '%keywords%' 的方式搜尋,所以那兩個資料表應該是完全沒用途
發表於 : 2007-02-19 10:47
由 jwxinst
那兩張表單是用來讓站長當log查search word都是什麼?
發表於 : 2007-02-19 11:49
由 ckmarkhsu
jwxinst 寫:那兩張表單是用來讓站長當log查search word都是什麼?
jwxinst 寫:那兩張表單是用來讓站長當log查search word都是什麼?
耶,不是醬子,那兩張表在非多位元語系國家的討論版很有用
目的是要做搜尋功能的索引以大幅加速搜尋效能,但在中文環境下,phpBB 搜尋時會自動跳過這個索引,直接搜尋 topic 資料表
至於他是怎麼做索引的,我概略解釋如下
在英語系的論壇中,假設你回覆一篇文章,內文包含
PhpBB is the best forum software in the world!
phpBB 便會在 phpbb_search_wordlist 資料表中寫入
word_text(欄位名稱)
phpBB
is
the
best
forum
software
in
world
寫入這幾筆「不重複」的單字,並在 phpbb_search_wordmatch 資料表中將該文章編號與這幾個單字做對應
往後,當使用者搜尋 phpBB 這個關鍵字時, 系統便會執行
代碼: 選擇全部
SELECT * FROM `phpbb_search_wordlist` WHERE `word_text` = 'phpbb'
再用 phpbb_search_wordmatch 的紀錄去找出哪些文章中包含 phpBB 這個關鍵字
説到這,一定有人想問,那何不直接這樣搜尋
代碼: 選擇全部
SELECT * FROM `phpbb_posts_text` WHERE post_text LIKE '%phpBB%'
這不是更直接瞭當不麻煩?
關鍵在於 LIKE '%%' 的 SQL 條件語法比起 = 這種語法慢上數十倍(在同樣資料筆數的條件下)
若是上百萬篇文章的論壇,對效能衝擊就更大了:p 因此才會有這種以空間換取效能的搜尋演算法
不過因 phpBB 預設的這種索引模式不支援中文(多位元),因此只好回到最原始的方式用 LIKE 比對啦:p
當然實際的運作方式沒這麼簡單,這只是概略的解釋他的運作原理而以:p 希望對大家有幫助:p
Re:
發表於 : 2008-03-15 01:07
由 willyhot
china2000 寫:謝謝各位老師、學長教導,學生先在後台關閉論壇後,進入phpMyAdmin空清(phpbb_search_wordlist 和 phpbb_search_wordmatch)這兩個table,再回論壇查看運作,一切正常!
減肥成功了 
那請問減肥後速度有沒有變快了呢?

Re: [問題]可否空清search table的內容?
發表於 : 2008-03-17 02:21
由 china2000
A little bit improve.
Re: [問題]可否空清search table的內容?
發表於 : 2008-03-17 15:52
由 willyhot
china2000 寫:A little bit improve.
Thanks!

Re: [問題]可否空清search table的內容?
發表於 : 2008-04-09 11:13
由 VEESE
我的纯英文站点清空后,就不能搜索。有什么办法恢复吗?
Re: [問題]可否空清search table的內容?
發表於 : 2008-04-09 20:42
由 yehrussell
VEESE 寫:我的纯英文站点清空后,就不能搜索。有什么办法恢复吗?
您可能是刪除,不是清空