テーブルまたは検索インデックスのマッピングテーブルを作成した後、SELECT ステートメントを実行して、マッピングテーブルを使用してデータのクエリと分析を行うことができます。
SELECT ステートメントの詳細については、データのクエリ を参照してください。
前提条件
OTSClient インスタンスが初期化されていること。詳細については、OTSClient インスタンスの初期化 を参照してください。
マッピングテーブルが作成されていること。詳細については、マッピングテーブルの作成 を参照してください。
使用上の注意
Tablestore SDK for PHP V5.1.0 以降は、SQL クエリ機能をサポートしています。SQL クエリ機能を使用する前に、Tablestore SDK for PHP V5.1.0 以降を入手していることを確認してください。Tablestore SDK for PHP のバージョンの詳細については、Tablestore SDK for PHP のバージョン履歴 を参照してください。
パラメーター
パラメーター | 説明 |
query | SQL ステートメント。必要な機能に基づいてパラメーターを設定します。 |
例
次のサンプルコードは、SELECT `PK0`, `boolean`, `long`, `geo` FROM `tableName` LIMIT 10;
ステートメントを実行して、tableName という名前のテーブルのデータをクエリする方法の例を示しています。この例では、最大 10 行のデータを返すことができます。システムは、リクエストタイプ、返された結果のスキーマ、およびクエリステートメントの返された結果を返します。
$request = array(
'query' => 'SELECT `PK0`, `boolean`, `long`, `geo` FROM `tableName` LIMIT 10;',
);
$response = $this->otsClient->sqlQuery($request);
$sqlRows = $response['sql_rows'];
// すべてのデータメトリクスを出力します
$lines = '';
for ($i = 0; $i < $sqlRows->rowCount; $i++) {
$line = '';
for ($j = 0; $j < $sqlRows->columnCount; $j++) {
$line = $line . (is_null($sqlRows->get($j, $i)) ? "null" : $sqlRows->get($j, $i)) . "\t";
}
$lines = $lines . $line . "\n";
}
print $lines;
$sqlRows = $response['sql_rows'];
FAQ
関連情報
SQL ステートメントを実行することでデータクエリと計算を高速化する場合、セカンダリインデックスまたは検索インデックスを作成できます。詳細については、インデックス選択ポリシー および 計算プッシュダウン を参照してください。
データテーブルに属性列を追加または削除する場合、
ALTER TABLE
ステートメントを実行して、データテーブル用に作成されたマッピングテーブルを変更できます。詳細については、マッピングテーブルの属性列の更新 を参照してください。テーブルの説明をクエリする場合、
DESCRIBE
ステートメントを実行できます。詳細については、テーブルの説明のクエリ を参照してください。テーブルまたは検索インデックス用に作成されたマッピングテーブルが不要になった場合、
DROP MAPPING TABLE
ステートメントを実行してマッピングテーブルを削除できます。詳細については、マッピングテーブルの削除 を参照してください。テーブルのインデックス情報を表示する場合、
SHOW INDEX
ステートメントを実行できます。詳細については、テーブルのインデックス情報のクエリ を参照してください。現在のデータベース内のマッピングテーブルの名前をクエリする場合、
SHOW TABLES
ステートメントを実行できます。詳細については、マッピングテーブルの名前の一覧表示 を参照してください。MaxCompute、Spark、Hive、HadoopMR、Function Compute、Flink、PrestoDB などの計算エンジンを使用して、テーブル内のデータを計算および分析することもできます。詳細については、概要 を参照してください。