【发布时间】:2014-12-18 08:08:32
【问题描述】:
我在Multiple Shared Database environment(MySQL) 工作,我需要经常在多个数据库之间切换。
假设我的主数据库是MainDB。
每个用户都有共享数据库,比如ShardDB1, ShardDB2 ...。
由于我使用的是JAVA Connection pooling,因此我必须在执行每个查询时获取要执行的连接,并在执行完毕后立即将其释放到池中。
我尝试了以下方法,但没有发现任何性能差异或任何问题。
每次我想使用 SharedDB 时,我都会像
USE ShardDB1;一样切换到 SharedDB 并在执行查询后再次切换回 MainDB,例如USE MainDB;像
"Select * from "+ ShardDB1 +".TABLE_NAME where ....";这样写查询
2nd method is easier 供我在代码中使用。但在我将它投入生产之前,我想知道使用第二种方法是否有任何问题(尤其是性能)。我用谷歌搜索了它,但找不到任何东西。请对此有所了解。
【问题讨论】: