2011-09-07 132 views
1

我正在使用CodeIgniter活動記錄類使用多個數據庫。我必須禁用MySQL的持續連接,因爲CodeIgniter Active Records類不能使用多個數據庫進行持久連接。使用具有多個數據庫的CodeIgniter活動記錄進行MySQL優化

我正在查看我的數據庫的負載,它似乎使用它的大部分查詢調用「更改數據庫」,我不確定這是否是一個好兆頭。

我該如何優化這個,而不必一直調用「更改數據庫」?

+0

您是否使用「Active Record」對象的多個實例?另外,請粘貼一些相關的代碼。 – yoda

回答

1

是否使用引用兩個數據庫查詢?否則,爲第二個數據庫加載新的數據庫實例並不難。即你仍然可以使用$ this-> db作爲第一個,但是你可以在第二個使用$ this-> db2。我真的不知道這是否會觸發你所說的「更改數據庫」命令,但至少它會是更可持續的代碼。 CI可以保持與腳本持續時間打開的每個數據庫的連接(不是持久連接),並且似乎您的問題將得到解決。

我從來不需要在單個應用程序中使用多個mysql數據庫,所以這完全是基於我看到的一個猜測,比如說一個mysql數據庫,另一個是sqlite數據庫。

2

這不是用戶友好的,因爲大多數活動記錄的命令,但你可以直接調用SQL這樣的:

$query = $this->db->query("SELECT * FROM database_a.some_table"); 
$query2 = $this->db->query("SELECT * FROM database_b.another_table"); 
相關問題