0

Apache Phoenix で適切な検証クエリを作成することは可能ですか?

簡単なクエリをデータベースに送信し、データベースに既に格納されているものについての仮定なしで、小さくて予測可能な結果を​​返すものが必要です。データベースが稼働しており、リクエストに応答していることを確認する方法としてのみ使用されます。

MySQL では、SELECT 1見事に機能する を使用しています。しかし、Phoenix はこれをサポートしていませんSELECT 1 FROM table。これは私には役に立ちません。データベース上の特定のテーブルの存在に依存しています。

これまでに思いついた最高のものは

DROP SEQUENCE IF EXISTS completelyimplausiblesequencename

これは機能しますが、少しハックで洗練されておらず、原則として状態を変更します。

もっと良いものはありますか?

4

1 に答える 1

0

SYSTEM.CATALOGPhoenix が内部情報を格納するために使用するテーブルの存在を推測できるようです。

したがって、原則としても状態を変更しない単純な検証クエリを取得する方法は次のとおりです。

SELECT 1 FROM SYSTEM.CATALOG LIMIT 1

LIMIT 1そうしないと1、テーブル内のすべての行に対して が返されるため、が必要です。

正確には、これはテーブルが存在することだけでなく、テーブルに少なくとも 1 つの行が含まれていることも前提としていますが、これはかなり確固たる前提のようです。

于 2015-08-10T08:44:29.560 に答える