我正在使用 teiid 对 redshift 数据库执行相当大的 SQL 选择查询。通过避免在查询中使用内部查询和内部选择语句,我优化了查询以提供更好的响应时间。但是,当我执行查询时,teiid 查询引擎将我的查询更改为使用内部查询和内部选择语句的不同版本。有什么方法可以绕过这种行为并直接使用我提供的查询。
她是我执行的原始 teiid 查询
CREATE VIRTUAL PROCEDURE GetTop() RETURNS (json clob) OPTIONS (UPDATECOUNT 0, "REST:METHOD" 'GET', "REST:URI" 'GetTop')
AS
/*+ cache(pref_mem ttl:14400000) */
BEGIN
execute immediate
'SELECT JSONOBJECT(
JSONARRAY_AGG(
JSONOBJECT(
total_purchases,
total_invoice,
total_records,
period
)
)
AS "dd"
) as json FROM(
SELECT SUM((CASE
GROUP BY period
Teiid 查询引擎将上述查询转换为具有内部 SELECT 语句的波纹管版本
SELECT SUM(v_0.c_1),
COUNT(DISTINCT v_0.c_2),
COUNT(v_0.c_2),
v_0.c_0
FROM (SELECT CASE
GROUP BY v_0.c_0
我想知道如何绕过这种行为并执行我的原始查询?