如果我在控制器中加載5個模型,將分別爲所有模型建立到數據庫的連接?CodeIgniter的模型加載問題
因爲它造成服務器掛起的問題,因爲打開每個模型的數據庫連接的多個端口。
如果有解決方案?
在此先感謝。
如果我在控制器中加載5個模型,將分別爲所有模型建立到數據庫的連接?CodeIgniter的模型加載問題
因爲它造成服務器掛起的問題,因爲打開每個模型的數據庫連接的多個端口。
如果有解決方案?
在此先感謝。
不,codeigniter應該爲您加載的每個模型建立一個新的數據庫連接。你是如何得出結論codeigniter是打開多個端口?這應該是不可能的
不,CodeIgniter使用單例模式,這意味着您只能製作每個模型/庫(或一次數據庫連接)的一個實例。
問題可能在您的數據庫查詢中 - 它們可能會減慢響應速度。你在數據庫配置中使用持久連接嗎?
有很多問題,但沒有太多的代碼,所以我們只能猜測。
你是否100%確定問題是這樣的?我從來沒有加載過那麼多的模型,也是因爲CI作爲一個singleton,所以對象總是一個,並且如果一個實例已經存在,類也不會被重新加載/重新實例化。
如果您的數據庫存在問題,請嘗試在config/database.php
中將pconnect(持續連接)設置爲FALSE。您可能還想打開緩存,這可能會有所幫助。
$db['test']['pconnect'] = FALSE;
$db['test']['db_debug'] = TRUE;
$db['test']['cache_on'] = TRUE;
你100%肯定是這個原因嗎? –
您是否曾嘗試在mysql客戶端中運行您的查詢,然後在codeigniter中嘗試它們? – Catfish