回答
只打開一次連接。打開和關閉連接也需要時間。正如你已經說過的,PHP closes open connections at the end of the runtime automatically。
所以,只要你需要一個連接就打電話給mysql_connect
,讓PHP在最後關閉它。 mysql_connect
檢查已經存在的連接,所以你不必擔心用相同的參數調用mysql_connect
會每次都打開一個新的連接。您還可以使用persistent connections,這些腳本不僅可以用於一個腳本執行。
使用持久連接或連接池可能會更好。
通常情況下,您最好關閉打開的連接,隨着時間的推移整理。
無論你想打開和關閉每個查詢將取決於你的應用程序真的。如果它只與數據庫很少交互,那麼最好這樣做。或者您可能想要打開一個連接池供所有人使用,只有當所有其他人正在使用時纔打開一個連接。
從我有經驗,最好離開連接打開。但這取決於您的應用程序的行爲。如果您正在進行大量的計算或連接外部服務,可能需要一些時間才能完成,那麼最好關閉連接並在完成耗時部分後再打開它。如果你沒有大量的訪問者,你可以達到sql連接數的限制,那麼請保持連接一直打開。需要一些時間才能再次打開它。
在腳本初始化期間連接到您的數據庫一次;在腳本執行期間保持連接處於打開狀態,並通過它發送進一步的查詢。
上面是一個典型的使用場景,其中您有一個執行多個SQL查詢的運行時間較短的PHP腳本(可能位於Web服務器上)。除非腳本運行時間超過幾個小時,否則不要擔心關閉查詢之間的連接。
每次連接到SQL服務器時,PHP腳本和服務器都需要經過(相對)複雜的協商:通過網絡建立連接,檢查雙方是否要說MySQL,檢查腳本有權連接,等等。保持數據庫連接,速度更快,效率更高。
這並不重要。如果您的PHP腳本將在腳本結尾爲您關閉連接,那麼您自己做這件事並不是很重要。
在完成所有查詢後,如果您想釋放一點內存(例如,如果您希望在腳本中放入額外的代碼以關閉連接),那麼唯一的原因是,你的腳本已經使用像GD2這樣的庫存了。
每次查詢後關閉連接,並打開另一個查詢,IS內存餓了,並且浪費大量時間。總而言之,不要打擾!
如果您的腳本隨機使用連接,讓連接打開。 如果有一組作業正在使用具有特定時間間隔的連接,則可以在每個組作業之後關閉連接。
- 1. 連接如何在Cloud Spanner數據庫中工作?
- 2. 查詢連接如何在MPP數據庫中工作?
- 3. 數據庫連接不工作
- 4. C#數據庫連接類不工作
- 5. 谷歌工作表連接數據庫
- 6. MySQL數據庫連接不工作
- 7. 如何在android中連接數據庫?
- 8. Oracle數據庫連接在Perl中工作,如何在Python中複製?
- 9. 如何連接數據庫?
- 10. 如何連接數據庫
- 11. Streaming如何爲Mule數據庫連接器工作?
- 12. rails數據庫連接池如何工作
- 13. 如何將數據庫從wamp連接到工作臺
- 14. 無法讓dbms_output在PHP中工作(連接到Oracle數據庫)
- 15. 數據庫連接無法在Express中工作
- 16. 如何在Java中連接到Cloud Foundry MySQL數據庫連接?
- 17. phpMySQL應該可以工作
- 18. 如何連接在線數據庫Xamarin?
- 19. 如何連接到在VS2015中創建的數據庫SQL Server數據工具
- 20. 數據庫如何工作?
- 21. 連接池在Ado.net中如何工作?
- 22. 連接到第二個數據庫CodeIgniter中不工作
- 23. 數據庫連接不工作在ASP MVC
- 24. 與figaro的數據庫連接不能在rails上工作
- 25. 在連接數據庫之前執行工作
- 26. PHP數據庫連接代碼不再在主機上工作
- 27. mySQL工作臺在連接到數據庫後掛起
- 28. Android:Async dobackground()在連接數據庫時無法正常工作
- 29. 在工作臺連接到ip地址的遠程數據庫
- 30. 連接兩個數據庫在codeigniter不工作