→ MOONRAKER:樓上要不要展現一下用MySQL寫loop或遞迴的效率 |D11/02 18:48
你好,我是鍵盤PHP&MySQL愛用者,我怕是我對PHP認識太潛,對PHP有誤會的地方
因此回文討論一下我的心得,如果有可以建議我的地方,還希望大家可以跟我講一下。
基本上,我對PHP的效能基本上是非常不滿意的
當然還是有些套件可以加速PHP, eg: HipHop,但是我沒用過就是了
我是依照我以前寫過Association rule algo. (PHP, C ).
Information Retrieval裡面的TF-IDF計算, Document ranking (PHP & MySQL)
HMMs for P.O.S. (PHP, Java)
我個人感覺PHP在大量Loop狀況下,效能奇慘無比,
因此後來我會盡量讓MySQL SQL語法可以達到的事情盡量讓MySQL去處理
盡量避免PHP要不停跟MySQL彼此溝通的運作模式,這樣會很慘
我說用MySQL效能會比較好,我個人純粹是跟PHP比較,
被你這個一說,我有點擔心說不定是我不會用而已,才以為MySQL會比較快
不曉得M大能不能分享一下經驗,畢竟PHP是我最喜愛的語言
我很希望PHP可以滿足我在效能上的需求
另外,我說MySQL會比較好還有一個前提,
在使用上可能使用者要對資料庫語法有一定程度的了解 (其實我也鳥鳥的啦...
一句語法可以達到的事情,千萬不要拆成兩句,效能會差很多
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.247.209
→ MOONRAKER:你對db的看法是對的,這一些algorithm在db內實作效率是 11/03 13:34
→ MOONRAKER:理想的,不需要取出到php來做。 11/03 13:34
※ 編輯: cjoe 來自: 140.116.247.209 (11/03 13:41)
→ gpmm:等一下,你說的「PHP在大量Loop狀況下,效能奇慘無比」 11/03 14:42
→ gpmm:是多大的資料量? o_Oa" 11/03 14:42
推 LaPass:跟C比,什麼語言都會很慘..... 11/03 14:52
→ LaPass:盡量減少下SQL的次數會比較快,基本上是對的沒錯。這不管 11/03 14:57
→ LaPass:哪種語言都一樣 11/03 14:57
→ carlcarl:也要看吧 有時候執行太久 會擋到其他進來的query 11/04 00:35
→ carlcarl:這時候分成多個query就有一點幫助 11/04 00:36
→ LaPass:我記得資料庫中不也是多執行緒的嗎?什麼狀況會擋啊? 11/04 21:12
推 carlcarl:如果你要更新一個table的很多資料 其他query會遇到lock 11/05 04:54
→ carlcarl:的問題吧 11/05 04:54
推 LaPass:lock啊...了解 11/05 09:27