discuz.net 留言...別離
以下是我在discuz.net 的留言
(舊acc:abbychau)我由ikonboard(leoboard 開發基礎前身) 開始起論壇
兩年前我來到discuz...一直只做cd-rom, 現在可說是首發的
dz 轉pw 了..但其實這個決定是傷痛的.
事緣是dz4 開源的第一天...我個人冒險, 以前的dz2.5 升dz4.0 失敗了...數據庫東改西改也令到我用不回2.5
但幸運地, 我成功用了pw 的轉換程序, 用了pw4.01
初時只想用作跳板, 馬上就轉回dz4
但無奈頭幾日被latin1 colloation 的問題困著了
直至有解決方法....巧合地收到一個會員的說話:"比以前的速度快了"
我肯定他不知道何謂phpwind,
pw在香港其本上沒甚麼知名度...
人們眼中大多只有discuz 和phpbb
我也被它的index 2 queries 吸引了
我不是故意在誇獎phpwind...大家都也知道速度是pw 的優勢...
以下是真正令我投入pw 的原因
在用pw 期間...我在巧合之下...看到xmb(一個forum 程序)
我也安裝了試用
可能xmb 在中港台也不十分有名...但在西方地區還有一定的位置
xmb 的後台真的不敢恭維...
但它數據表的設計真的令我眼前一亮.
對數據查詢有了新的看法
它在新安裝的的狀態竟有13 queries
大家都有了想法: 天啊! 會不會太多了!?
我也在想..那不可能, 一個簡單沒插件的地方...怎麼樣它查13 次?
我一打開phpmyadmin...才發現它設計何等的精妙...
我也不是在誇獎xmb...西方地區的開發總有他們的一套, 我覺得不算很好效率, 但很有參考的價值
在一般化(sql table normalization)方面, xmb 基本上是我見過最好的一個
畢竟我兩年的HKAL: ASL-CA 也不是白唸的
我驚覺discuz 在速度上的差異是十分基層的...就是一般化不夠完善(希望各位先不要罵, 想一想有沒有道理)
有些經驗的用戶會察覺到我解說一般化和速度關係方面有些矛盾...
但只要分析一下 sql 查詢的方法...
相信大家都在用mysql 的吧!?
如果大家有在mysql 的伺服器了解一下mysql 的物理儲存方式
很容易見到是"long string", 即是長字串
速度的提升就是要建立在起動進程和載入資料時間上的平衡
具體的說就是大表和小表的分布
phpwind 比discuz 發展得遲...我覺得在表的設計上也比較好的
原因就是前車可鑑...
以下是一個例子
在phpwind 的討論區中, 用兩個表來裝members 令到轉換麻煩了
的確...是麻煩了...還多用了一個key field 的空間
官方沒有回應, 但這點反而堅定了我在pw 的決心...就是開發者的創見
而且, 他們利用了一次LEFT JOIN 維持了查詢次數...
至于discuz 比phpwind 穩...
我反而覺得沒這回事...
大家的架構其實都得完善的
要證明可能只會說: 大站都用discuz...
具體分析上我卻沒有找到證據
我好像都在讚phpwind...
但我是十分承認phpwind 還趕不上discuz
原因在於phpwind 的發表團隊的確不怎麼積極
discuz 有xs/ss 還有數之不盡的優秀插件...
phpwind 在質和量上我都說是比不上的
因為上面的原因...我已經開始幫pw 4.3.2做改版...
連數據表都改了不少, 初步像UNetBoard論壇程序(discuz kernal)...
再說一次..dz 轉pw 了..但其實這個決定是傷痛的.
因為我放棄了archiver 功能, 還有獨有的大型插件, 漂亮的面版
這些都是discuz 吸引我之處
大家都不認識我...我的離開...
大家可能都不會有太大的感覺...
我喜歡phpwind, 也喜歡discuz
上面的分析, 希望也幫助到大家去選擇