我正在查询Oracle数据库(简化查询。有更多条件):
SELECT field1, MAX(field2) AS something
FROM table1
WHERE (field3 = 'something1')
GROUP BY field1
这是一个非常大的数据库,MAX正在查杀查询加载时间。 我不需要MAX值。字段包含文本值。它可以是任何值,因为对于给定的field1它们都应该是相同的。它可以是第一个,也就是最后一个,更快。
答案 0 :(得分:0)
可能你想删除"重复"从您的结果集。请检查:
WITH cte AS (
SELECT DISTINCT field1
FROM table1
WHERE field3 = 'something1'
)
SELECT field1, sub.field2
FROM cte c
OUTER APPLY (SELECT field2
FROM table1 t
WHERE rownum = 1
AND t.field1 = c.field1) sub;
field3和field1上的索引可以加快速度。