2014-07-21 66 views
1

我們的數據庫服務器有幾千個數據庫,在做特定的搜索時,我需要檢查它們。在更改數據庫的mysql中是否有限制?

目前,我與每個人建立連接,進行搜索並斷開連接 - 這種方式有效,但當然會有一些開銷(重新連接數千次),我想擺脫它。

我想是這樣的:

companies.each do |company| 
    rs = con.query("SELECT * FROM #{company[:schema_id]}.properties") 

    rs.num_rows.times do 
     puts rs.fetch_row.join("\s") 
    end 

end 

但在30日公司崩潰與:

NameError - undefined local variable or method `e' for <name of app> 

公司[:schema_id]是一個哈希,我檢查了它 - 它不活動啓動'e'字母。我也試着做'使用newdatabase'並做簡單的查詢,但是,當我第30次更改DB時,它就死了。

我也嘗試重置連接每25個查詢,但第二個連接墜毀在第五個查詢(這再次與30總結),所以這不會幫助。

這是mysql的一些限制嗎?我無法谷歌任何東西或找到任何在MySQL配置。

UPDATE:代碼是紅寶石和我同時崩潰的錯誤是:提前

Mysql2::Error - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'databasename.properties WHERE tenant = 0 AND name = ' at line 1: 

謝謝!

+6

'1個服務器上有幾千個數據庫? –

+1

爲什麼不使用單個連接並查詢「FROM 」。 ...'?像Hanky웃Panky這樣的數據庫數量讓我印象深刻。 – VMai

+0

我幫不了忙,我不是創建這個數據庫系統的人。我試過

,但它又一次在第30個查詢中崩潰 – user3337015

回答

0

問題是數據庫不在``,它只是發生了第30哈希(數據庫名稱)不被MySQL服務器喜歡。

相關問題