From 07dc1436af2324b9b31ead30bc3808952c8cba7e Mon Sep 17 00:00:00 2001 From: Syngnat <92659908+Syngnat@users.noreply.github.com> Date: Wed, 8 Jul 2026 11:51:05 +0800 Subject: [PATCH] perf(oceanbase): use FETCH FIRST for Oracle auto limit --- frontend/src/utils/queryAutoLimit.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/utils/queryAutoLimit.ts b/frontend/src/utils/queryAutoLimit.ts index b0383c56..053bea63 100644 --- a/frontend/src/utils/queryAutoLimit.ts +++ b/frontend/src/utils/queryAutoLimit.ts @@ -322,7 +322,7 @@ export const applyQueryAutoLimit = ( if (offsetPos >= 0 && (fromPos < 0 || offsetPos > fromPos)) return { sql, applied: false, maxRows }; const forPos = findTopLevelKeyword(main, 'for'); if (forPos >= 0 && (fromPos < 0 || forPos > fromPos)) return { sql, applied: false, maxRows }; - return { sql: `SELECT * FROM (${main.trimEnd()}) WHERE ROWNUM <= ${maxRows}${tail}`, applied: true, maxRows }; + return { sql: `${main.trimEnd()} FETCH FIRST ${maxRows} ROWS ONLY${tail}`, applied: true, maxRows }; } const offsetPos = findTopLevelKeyword(main, 'offset');