2016-09-13 14 views
0

複数のms sqlサーバ・データベースx1、x2、x3、... xn、事実上すべて同じスキーマ・タイプと1つのデータベースyがあり、管理データを保持します。同じ準備済みの文、複数のデータベース、同じスキーマ

私はjdbcプリペアドステートメントを使用しています。同じプリペアドステートメントを1つのプログラムから複数のxデータベースで実行する必要がある場合があります。

プリペアドステートメントのSQLはデータベースを示していない場合:

だけで、サーバーに関連付けられてプリペアドステートメントで、実行された場合は、コンテキストに応じて選択したデータベース上で実行され、例えばUSEステートメントに続いて。

ORは接続URLのデフォルトデータベースと永久に関連付けられていますか?もしそうなら、私はまだプリペアドステートメントを使いたいのですが、スキーマとステートメントが基本的に同じであっても、すべてのデータベースに対してプリペアドステートメントを作成する必要があります。

答えて

0

準備されたステートメントが特定のデータベースにバインドされていることはかなり確かですが(100%肯定的ではありません)。クエリプランでは、データベースごとに異なるインデックスとテーブルの統計情報を評価する必要があります。

これは内部システムだと思われ、SQLインジェクションは問題ではないかもしれません。私は直接実行またはstmt.executeQuery(クエリ)を使用します。

関連する問題