我有以下情况
这永远不会结束
SELECT *
FROM (SELECT A.Column1, A.Column2, A.Column3, A.Column4
From Table A
ORDER BY A.Column1, A.Column2)
WHERE ROWNUM < 16
这两个查询运行得更快:
查询#1
SELECT A.Column1, A.Column2, A.Column3, A.Column4
From Table A
ORDER BY A.Column1, A.Column2
查询#2
SELECT *
FROM (SELECT A.Column1, A.Column2, A.Column3, A.Column4
From Table A)
WHERE ROWNUM < 16
正如您所注意到的,在最后一个我删除了ORDER BY
。
永远不会结束它的查询发生在DataBaseA上,但是当我尝试在DatabaseB上执行它时,它只是快速运行。所以我的问题是它为什么会发生?它是关于索引问题吗?我检查过,TableA在DatabaseA上有2个索引比DatabaseB更多,但是额外的索引在查询不在的列上。
我希望你能帮助我