oracle FIRST_ROWS和FIRST_ROWS(N)的区别
时间:2025-11-05 07:27:21 出处:数据库阅读(143)

复制SQL> SELECT /*+ FIRST_ROWS */ * FROM T 2 WHERE CONTAINS(DOCS, SYS, 1) > 0 3 AND NAME = DUAL 4 ORDER BY SCORE(1); ID NAME DOCS ---------- ------------------------------ ---------------------------------- 7112 DUAL SYS TABLE DUAL 执行计划 ---------------------------------------------------------- 0 SELECT STATEMENT Optimizer=HINT: FIRST_ROWS (Cost=2643Card=1Bytes=74) 1 0 TABLE ACCESS (BY INDEX ROWID) OF T (Cost=2640Card=1Bytes=74) 2 1 DOMAIN INDEX OF IND_T_DOCS (Cost=2369Card=2) SQL> SELECT /*+ FIRST_ROWS(1) */ * FROM T 2 WHERE CONTAINS(DOCS, SYS, 1) > 0 3 AND NAME = DUAL 4 ORDER BY SCORE(1); ID NAME DOCS ---------- ------------------------------ ---------------------------------- 7112 DUAL SYS TABLE DUAL 执行计划 ---------------------------------------------------------- 0 SELECT STATEMENT Optimizer=HINT: FIRST_ROWS (Cost=5Card=1Bytes=74) 1 0 SORT (ORDER BY) (Cost=5Card=1Bytes=74) 2 1 TABLE ACCESS (BY INDEX ROWID) OF T (Cost=2Card=1Bytes=74) 3 2 INDEX (RANGE SCAN) OF IND_T_NAME (NON-UNIQUE) (Cost=1Card=2) 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.
分享到:
温馨提示:以上内容和图片整理于网络,仅供参考,希望对您有帮助!如有侵权行为请联系删除!