このトピックでは、論理テーブルをクエリする方法について説明します。
背景情報
- データベースとテーブルのシャーディングの場合、テーブルに対してクエリを実行して、すべてのテーブルに対して1つずつクエリを実行する必要なく、1つ以上のテーブルからクエリ結果を取得することができます。 最も満足のいく解決策は、単一のテーブルを使用してこれらのテーブルからデータをクエリすることです。
- データ管理 (DMS) は、
論理データベース
および論理テーブル
からデータを集約することにより、前述のソリューションを実装します。
手順
論理データベース
を選択し、必要に応じてデータを照会またはエクスポートします。 論理テーブルにデータを書き込んでみてください。 ルーティングアルゴリズムが設定されていない場合、SELECT
、UPDATE
、およびDELETE
文のみがサポートされ、INSERT
文はサポートされません。- ルーティングアルゴリズムを設定します。 次の例は、単純なモジュロ演算を実行するルーティングアルゴリズムを設定する方法を示しています。 複雑なルーティングアルゴリズムを設定する方法の詳細については、「ルーティングアルゴリズムの設定」をご参照ください。
- ルーティングアルゴリズムを設定したら、
INSERT
ステートメントを実行して論理テーブルに値を挿入します。 - 論理テーブルに値を挿入した後、クエリ条件付きのSQL文を使用してデータをクエリします。
- ルーティングアルゴリズムを設定した後、指定された物理テーブルからルーティングベースのフィールドのデータを照会できます。 これにより、手動で計算を行い、物理データベースとテーブルを切り替える必要がなくなります。
- クエリ結果には、データベースとテーブルの情報が最後の列に表示されます。 列の値をクリックすると、物理データベースまたはテーブルに移動し、前のSQL文とクエリ条件でデータをクエリできます。
- ルーティングベースのフィールドを使用せずに、すべての物理テーブルを含む論理テーブル全体のデータを照会することもできます。 たとえば、COUNT() ステートメントを実行して、テーブル内のレコード数を取得できます。 説明
GROUP BY
などのステートメントを実行することもできます。 他のSQL構文は、サブクエリがサポートされていないことを除いて、ソースデータベースの構文と似ています。