0

是否可以在 Apache Phoenix 中编写合理的验证查询?

我想要的东西可以向数据库发送一个简单的查询,并返回一个小而可预测的结果,而不假设数据库中已经存储了什么。它被简单地用作确认数据库是否处于活动状态并响应请求的一种方式。

在 MySQL 中,我使用SELECT 1,效果非常好。但是Phoenix不支持这个:它坚持把它作为SELECT 1 FROM table,如果没有这样的表,它就会抱怨。这对我没有用:它依赖于数据库中特定表的存在。

到目前为止我想出的最好的是

DROP SEQUENCE IF EXISTS completelyimplausiblesequencename

这行得通,但它有点笨拙和不雅,原则上它确实会改变状态。

有更好的吗?

4

1 回答 1

0

似乎可以假设存在SYSTEM.CATALOG一张表,Phoenix 用它来存储内部信息。

因此,即使在原则上,获得一个不改变状态的简单验证查询的方法是

SELECT 1 FROM SYSTEM.CATALOG LIMIT 1

是必需的LIMIT 1,否则您会1为表中的每一行返回一个。

准确地说,这不仅假设表的存在,而且还假设它包含至少一行,但这似乎是一个相当可靠的假设。

于 2015-08-10T08:44:29.560 回答