JDBC Driver for Couchbase

Build 24.0.9062

スキーマ検出とインデックス

スキーマ検出とインデックス

本製品 は、スキーマおよびインデックスを決定するための異なるモードを提供します。以下に、いくつかの設定例を示します。

TableSupport=None

テーブルを検索してカラムを検出するすべてのクエリを無効にします。スキーマファイルで定義されたテーブルのみが報告されます。TypeDetectionScheme は無視されます。 ドライバーは、Location ディレクトリにあるスキーマファイルのみを使用します。スキーマファイルなしでこのオプションを使用すると、利用可能なテーブルがなくなります。

TableSupport=Basic


 SELECT `bucket`, `scope`, name FROM system:keyspaces

ドライバーは利用可能なバケットを検出しますが、その中で子テーブルを探すことはしません。 これは、スキーマ検出の時間を削減したい場合、またはバケットにプライマリインデックスがない場合にお勧めします。

TableSupport=Full


 SELECT `travel-sample`.* FROM `travel-sample` LIMIT 100

ドライバーは利用可能なバケットを検出し、それらの各バケットの内側を見て子テーブルを探します。これにより、ネストされたデータにアクセスする最も柔軟な方法が提供されますが、サーバー上の各バケットにプライマリインデックスがあることが必要です。

TypeDetectionScheme=None

ドライバーはフレーバー検出やカラムタイプの検出は行いません。カラムは常にVARCHAR として報告されます。子テーブルは、TableSupport の設定に応じてスキャンされます。

TypeDetectionScheme=RowScan

ドライバーは、バケットからドキュメントのサンプルを読み出し、データ型を決定します。フレーバー検出は行いません。

TypeDetectionScheme=Infer

NQ1QL INFER ステートメントを使用して存在するテーブルとカラムを判断します。これはDocType よりも柔軟なフレーバー検出を行いますが、Couchbase Enterprise でのみ利用可能です。

TypeDetectionScheme=DocType


 SELECT META(`travel-sample`).id AS `Document.Id`, `travel-sample`.* FROM `travel-sample`

各バケットをチェックして、ドキュメント内の"docType" フィールドのさまざまな値を探すことでテーブルを検出します。 例えば、バケットbeer-sample に"docType" = 'brewery' および"docType" = 'beer' のドキュメントが含まれている場合、beer-sample、beer-sample.brewery、beer-sample.beer の3つのテーブルが生成されます。 RowScan と同様に、各フレーバーのドキュメントのサンプルをスキャンし、各フィールドのデータ型を決定します。

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 24.0.9062