すべてのプロダクト
Search
ドキュメントセンター

Lindorm:DESCRIBE

最終更新日:Jan 14, 2025

類似したスキーマを持つ新しいテーブルまたはデータベースを作成する場合、DESCRIBE 構文を使用して既存のテーブルまたはデータベースのスキーマを表示できます。

適用可能なエンジン

DESCRIBE 構文は、LindormTable と LindormTSDB に適用できます。

構文

describe_statement ::= { DESCRIBE | DESC } [{ DATABASE | TABLE }] identifier /* describe 文 ::= { DESCRIBE | DESC } [{ DATABASE | TABLE }] identifier */

サポートされているパラメーター

次の表は、LindormTable と LindormTSDB でサポートされている DESCRIBE 構文のパラメーターを示しています。

パラメーター

LindormTable

LindormTSDB

DATABASE

✖️

TABLE

identifier

パラメーター

DATABASE

LindormTSDB のみ、DATABASE パラメーターをサポートしています。

DATABASE パラメーターは、データベースのスキーマを取得するために DESCRIBE 構文で指定されます。

TABLE

TABLE パラメーターは、テーブルのスキーマを取得するために DESCRIBE 構文で指定されます。 LindormTSDB と LindormTable に対して返されるテーブルスキーマは完全に同じではないことに注意してください。

identifier

DESCRIBE ステートメントで DATABASE パラメーターが指定されている場合、identifier パラメーターはデフォルトでデータベース名を指定します。 DESCRIBE ステートメントで TABLE パラメーターが指定されている場合、identifier パラメーターはデフォルトでテーブル名を指定します。 DESCRIBE ステートメントで DATABASE パラメーターと TABLE パラメーターが指定されていない場合、identifier パラメーターはデフォルトでテーブル名を指定します。たとえば、現在のデータベース内の test テーブルのスキーマを取得するには、次のステートメントを実行できます: DESCRIBE test;

次の例では、次のステートメントを実行して、sensor という名前の test テーブルを作成します。

CREATE TABLE sensor (
    device_id VARCHAR NOT NULL,
    region VARCHAR NOT NULL,
    time TIMESTAMP NOT NULL,
    temperature DOUBLE,
    humidity BIGINT,
    PRIMARY KEY(device_id, region, time)
);

テーブルのスキーマを取得する

DESCRIBE TABLE sensor; -- 完全なステートメント。 /* 完全なステートメント */
DESC sensor; -- 省略形のステートメント。 /* 省略形のステートメント */

LindormTable では、次の結果が返されます。

+--------------+------------+-------------+-----------+----------------+------------+
| TABLE_SCHEMA | TABLE_NAME | COLUMN_NAME |   TYPE    | IS_PRIMARY_KEY | SORT_ORDER |
+--------------+------------+-------------+-----------+----------------+------------+
| default      | sensor     | device_id   | VARCHAR   | true           | ASC        |
| default      | sensor     | region      | VARCHAR   | true           | ASC        |
| default      | sensor     | time        | TIMESTAMP | true           | ASC        |
| default      | sensor     | temperature | DOUBLE    | false          | none       |
| default      | sensor     | humidity    | BIGINT    | false          | none       |
+--------------+------------+-------------+-----------+----------------+------------+

LindormTSDB では、次の結果が返されます。

+-------------+-----------+------------+------------+--------------+
| columnName  | typeName  | columnKind | primaryKey | partitionTag |
+-------------+-----------+------------+------------+--------------+
| device_id   | VARCHAR   | TAG        | true       | true         |
| region      | VARCHAR   | TAG        | true       | true         |
| time        | TIMESTAMP | TIMESTAMP  | true       | false        |
| temperature | DOUBLE    | FIELD      | false      | false        |
| humidity    | BIGINT    | FIELD      | false      | false        |
+-------------+-----------+------------+------------+--------------+

データベースのスキーマを取得する

DB1 という名前の時系列データベースのスキーマを取得します。

DESCRIBE DATABASE DB1;

次の結果が返されます。

+--------------------+-------+
|     attribute      | value |
+--------------------+-------+
| shard_num_per_node | 0     |
| skip_wal           | false |
| string_compression | false |
| cold_boundary      | 30    |
| partition_interval | 30    |
| ttl                | 60    |
| shard_num          | 0     |
+--------------------+-------+

返された結果には、次のフィールドが含まれています。

  • shard_num_per_node: 各ノードのデータベースで使用されるシャードの数。デフォルト値: 1。

  • skip_wal: ログが記録されるかどうかを示します。このフィールドのデフォルト値は false で、データベースのログが記録されることを示します。

  • string_compression: STRING データが圧縮されるかどうかを示します。このフィールドのデフォルト値は false で、STRING データが圧縮されないことを示します。

  • shard_num: クラスタ内のデータベースシャードの総数。このフィールドにはデフォルト値がありません。

  • cold_boundary、partition_interval、ttl: データベースを作成するために実行された CREATE DATABASE ステートメントで構成されたデータベースの属性。詳細については、「CREATE DATABASE」をご参照ください。