Apache Phoenix中的验证查询

时间:2015-08-07 15:51:50

标签: mysql database phoenix

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

我想要的东西会向数据库发送一个简单的查询,并返回一个小而可预测的结果,而不会假设已存储在数据库中的内容。它只是用来确认数据库是否存活并响应请求。

在MySQL中,我使用的是SELECT 1,效果令人钦佩。但菲尼克斯并不支持这一点:它坚持将其作为SELECT 1 FROM table,并且如果没有这样的表,它会抱怨。这对我没用:它依赖于数据库中特定表的存在。

到目前为止,我提出的最好的是

DROP SEQUENCE IF EXISTS completelyimplausiblesequencename

哪个有效,但它有点笨拙且不优雅,原则上它会改变状态。

还有什么更好的吗?

1 个答案:

答案 0 :(得分:0)

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

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

SELECT 1 FROM SYSTEM.CATALOG LIMIT 1

需要LIMIT 1,否则您会为表格中的每一行返回1

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