本稿では、読み取り専用分析エンジンで使用可能なクエリ文と関連説明についてご紹介します。
オブジェクト権限の説明
読み取り専用分析エンジンでは、分析エンジンに完全にロードされたオブジェクトのみがデータクエリを実行可能です。データクエリには対応するデータテーブルに対するSELECT権限が必要です。権限がない場合は、TDSQL-C for MySQLのアカウント管理を通じてオブジェクトへの権限付与を行ってください。操作手順についてはアカウント権限の変更をご参照ください。 SELECTステートメント。
読み取り専用分析エンジンでは、主にSELECT文を使用したデータクエリをサポートしています。
SELECT
[ALL | DISTINCT | DISTINCTROW ]
select_expr [, select_expr] ...
[FROM table_references
[WHERE where_condition]
[GROUP BY {col_name | expr | position}]
[HAVING where_condition]
[WINDOW window_name AS (window_spec)
[, window_name AS (window_spec)] ...]
[ORDER BY {col_name | expr | position}
[ASC | DESC]]
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
上記のSELECT文ブロックは読み取り専用分析エンジンでサポートされているSELECT文です。下記の説明では、MySQLの完全なSELECT文セグメントにおける読み取り専用分析エンジンでサポートされていないステートメントユニットについて紹介します:
HIGH_PRIORITYはSELECT文の実行優先度を設定することを表しますが、これは読み取り専用分析エンジンでは有効になりません。ただし、SQL文にこのキーワードが含まれていても、実行結果に影響を与えません。
STRAIGHT_JOINはオプティマイザに対して句内にリストされた順序でテーブル結合を強制することを意味しますが、読み取り専用分析エンジンでは完全に独自の列指向実行オプティマイザに基づいて実行計画が選択されるため、このキーワードは読み取り専用分析エンジンでは有効になりません。
SQL_SMALL_RESULT、SQL_BIG_RESULT、SQL_BUFFER_RESULT、SQL_NO_CACHE、SQL_CALC_FOUND_ROWSの各クエリオプションも読み取り専用分析エンジンでは有効になりませんが、クエリ文の実行に影響を与えません。
PARTITION partition_list句は読み取り専用分析エンジンでサポートされておらず、このオプションはクエリの実行失敗を引き起こします。
注意:
WITH ROLLUP構文は3.2503.x以降のバージョンでのみサポートされています。
FOR UPDATE|Lock IN SHARE MODEなどの句構文はサポートしていません。実行するSQLにこのような句が含まれている場合、有効になりませんが、SQL実行は正常に行われます。
into optionはサポートしていません。ステートメントにこのキーワードが含まれている場合、実行時にエラーが発生します。