Java Flexible query适用于HANA DB,但不适用于HSQL DB

Java Flexible query适用于HANA DB,但不适用于HSQL DB,java,hsqldb,hybris,hana,Java,Hsqldb,Hybris,Hana,我有以下灵活的搜索查询 Select {vt:code},{vt:productcode},{vw:code},{vw:productcode} from {abcd AS vt JOIN wxyz AS vw ON {vt:imeinumber} = {vw:ssnout} } where {vt:productcode} != {vw:productcode} 在我的本地系统中,数据库是HSQL,因此查询不起作用,并处于等待状态,而在云服务器中,数据库是HANA,因此它工作正常,并给出准

我有以下灵活的搜索查询

 Select {vt:code},{vt:productcode},{vw:code},{vw:productcode} from {abcd AS vt JOIN wxyz AS vw ON {vt:imeinumber} = {vw:ssnout} } where {vt:productcode} != {vw:productcode}

在我的本地系统中,数据库是HSQL,因此查询不起作用,并处于等待状态,而在云服务器中,数据库是HANA,因此它工作正常,并给出准确的结果。

尝试使用连接,而不是内部连接

SELECT {vt.code},{vt.productcode},{vw.code},{vw.productcode} 

FROM 
{
  abcd AS vt JOIN wxyz AS vw ON {vt.imeinumber} = {vw.ssnout} 
} 
WHERE {vt.productcode} != {vw.productcode}

查询需要很长时间才能运行,可能是因为join列
ssnout
上没有索引

可以使用正确的表名和列名,使用类似于one blow的语句创建索引

CREATE INDEX idx_ssnout ON WZYZ(SSNOUT)

抱歉,在发布时,我已编写了内部联接,但我仅尝试使用联接。还有一件事是这两个表都有一个巨大的记录,一个表有大约57k条记录,另一个表有大约20k条记录。当您从HAC运行此查询时,是否有任何错误?是的,我尝试了上述查询。现在的问题是查询执行所需的时间,大约为25-30分钟,而在hana中,它以10毫秒(毫秒)的时间给出结果。因此,现在的语法是正确的。与您的云设置相比,它在本地环境中需要更多的时间,这取决于许多因素。您可以根据具体的用例提出新问题,以便有人可以为您提供更好的查询或解决方案。