2010-09-21 141 views
0

我在php中有一個> x20000循環來檢查一個條目是否存在於MySQL數據庫中,我打開&關閉循環中每個條目的連接,但是有朋友告訴我這很瘋狂,我應該打開一個連接,運行循環,然後關閉它,但他沒有告訴我爲什麼。有人能解釋我重用相同連接的好處嗎?是CPU使用率還是什麼?打開一個MySQL連接vs打開和關閉很多連接?

回答

2

不僅價格昂貴,而且如果您有多個請求同時進行腳本,您最終可能會遇到服務器上的連接限制,從而導致進一步的請求必須等待或被拒絕。但是,正如@zerkms所說,最主要的是這是一項昂貴的操作。大約六個月前,我採用了一個腳本,在循環中重複連接,並將連接移到循環外部,腳本的執行時間從10-12秒降至1秒以下。

2

這是網絡連接+ mysql連接的開銷。它需要一段時間才能連接,並清楚它是「昂貴的」操作。