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

Lindorm:ホットデータをクエリするためのヒントの使用

最終更新日:Apr 09, 2025

このトピックでは、LindormTable の SQL 文でヒントを使用してホットデータをクエリする方法について説明します。

適用されるエンジンとバージョン

ヒントは、LindormTable 2.3.1 以降のバージョンにのみ適用されます。

説明

LindormTable のバージョンを表示またはアップグレードする方法の詳細については、「LindormTable のリリースノート」および「Lindorm インスタンスのマイナーエンジンバージョンのアップグレード」をご参照ください。

前提条件

Lindorm インスタンスでコールドストレージが有効になっています。詳細については、「容量ストレージを有効にする」をご参照ください。

使用方法

重要

ヒントを使用してコールドデータのみをクエリすることはできません。

次の文を実行してテストテーブルを作成し、テーブルにデータを挿入します。

-- テストテーブルを作成し、保持されるバージョンの数を 5 に設定します。
CREATE TABLE t_test_versions_2 (c1 INT , c2 INT, c3 VARCHAR(50), PRIMARY KEY(c1)) WITH(VERSIONS='5');

-- テーブルにデータを挿入します。
UPSERT /*+ _l_ts_(1000)  */ INTO t_test_versions_2(c1, c3) VALUES (1, '11');
UPSERT /*+ _l_ts_(2001)  */ INTO t_test_versions_2(c1, c3) VALUES (1, '22');
UPSERT /*+ _l_ts_(1000)  */ INTO t_test_versions_2(c1, c2) VALUES (1, 1);
UPSERT /*+ _l_ts_(2001)  */ INTO t_test_versions_2(c1, c2) VALUES (2, 1);
UPSERT /*+ _l_ts_(2002)  */ INTO t_test_versions_2(c1, c2) VALUES (2, 2);
UPSERT /*+ _l_ts_(2003)  */ INTO t_test_versions_2(c1, c2) VALUES (2, 3);
UPSERT /*+ _l_ts_(2004)  */ INTO t_test_versions_2(c1, c2) VALUES (2, 4);
UPSERT /*+ _l_ts_(2005)  */ INTO t_test_versions_2(c1, c2) VALUES (2, 5);
UPSERT /*+ _l_ts_(2006)  */ INTO t_test_versions_2(c1, c2) VALUES (2, 6);

ヒントを使用してホットストレージのみのデータをクエリする

SQL 文でヒントを使用して、_l_hot_only_(true) 属性を設定できます。次の 2 つの文は、ヒントを使用してホットストレージのみのデータをクエリする方法の例を示しています。

SELECT /*+ _l_hot_only_ */ * FROM t_test_versions_2 WHERE c1 IN (1, 2, 3);
SELECT /*+ _l_hot_only_(true) */ * FROM t_test_versions_2 WHERE c1 IN (1, 2, 3);

次の結果が返されます。

+----+----+------+
| c1 | c2 | c3   |
+----+----+------+
| 1  | 1  | 22   |
| 2  | 6  | null |
+----+----+------+

ヒントを使用してすべてのデータをクエリする

SQL 文で _l_hot_only_(false) 属性を設定して、ホットデータとコールドデータを含むすべてのテーブルデータをクエリできます。

重要

SQL 文で _l_hot_only_(false) 属性を設定すると、ヒントなしで文を実行した場合と同じ結果が生成されます。

-- ホットデータとコールドデータを含むすべてのデータをクエリします。
SELECT /*+ _l_hot_only_(false) */ * FROM t_test_versions_2 WHERE c1 IN (1, 2, 3);

-- 前の文と次の文は同じ結果を返します。
SELECT * FROM t_test_versions_2 WHERE c1 IN (1, 2, 3);

次の結果が返されます。

+----+----+------+
| c1 | c2 | c3   |
+----+----+------+
| 1  | 1  | 22   |
| 2  | 6  | null |
+----+----+------+