是否可以在Apache Phoenix中编写合理的验证查询?
我想要的东西会向数据库发送一个简单的查询,并返回一个小而可预测的结果,而不会假设已存储在数据库中的内容。它只是用来确认数据库是否存活并响应请求。
在MySQL中,我使用的是SELECT 1
,效果令人钦佩。但菲尼克斯并不支持这一点:它坚持将其作为SELECT 1 FROM table
,并且如果没有这样的表,它会抱怨。这对我没用:它依赖于数据库中特定表的存在。
到目前为止,我提出的最好的是
DROP SEQUENCE IF EXISTS completelyimplausiblesequencename
哪个有效,但它有点笨拙且不优雅,原则上它会改变状态。
还有什么更好的吗?
答案 0 :(得分:0)
似乎可以假设存在SYSTEM.CATALOG
表,Phoenix用它来存储内部信息。
因此,即使在原则上,获得一个不会改变状态的简单验证查询的方法是
SELECT 1 FROM SYSTEM.CATALOG LIMIT 1
需要LIMIT 1
,否则您会为表格中的每一行返回1
。
准确地说,这不仅假设表的存在,而且它还包含至少一行,但这似乎是一个相当可靠的假设。