【发布时间】:2013-12-28 11:42:11
【问题描述】:
为什么第一个查询使用全表扫描,而第二个使用索引?
SELECT *
FROM emp
WHERE job = 'PRESIDENT';
和
SELECT job
FROM emp
WHERE job = 'PRESIDENT';
【问题讨论】:
-
因为数据库优化器做得不好?如何知道是否发生了全表扫描?您使用的是哪个 DBMS?
-
1) 什么数据库 2) 你怎么知道查询 1 正在使用全表扫描? 3) 分享您的创建表结构 4) 告诉 emp 有多少记录...并且查询 2 最有可能使用带有覆盖索引的全索引扫描..
-
1. ORACLE 2. 这是硬件问题
标签: performance oracle full-table-scan