什么复合索引前导列?
来源:互联网 发布:c语言书籍下载txt 编辑:程序博客网 时间:2024/06/10 15:55
在oracle中,我们经常以为建立了索引,sql查询的时候就会如我们所希望的那样使用索引,事实上,oracle只会在一定条件下使用索引,这里我们总结数第一点:oracle会在条件中包含了前导列时使用索引,即查询条件中必须使用索引中的第一个列,请看下面的例子
建立一个联合索引(注意复合索引的索引列顺序)
SQL> create index emp_id1 on emp(empno,ename,deptno);
下面的查询由于没有使用到复合索引的前导列,所以没有使用索引
SQL> select job, empno from emp where ename='MILLER';
JOB EMPNO
--------- ----------
CLERK 7934
Execution Plan
----------------------------------------------------------
0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=1 Bytes=18)
1 0
TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=1 Bytes=18)
下面的查询使用了复合索引中的前导列,所以查询走索引了
JOB EMPNO
--------- ----------
CLERK 7934
--------- ----------
CLERK 7934
Execution Plan
----------------------------------------------------------
0
SELECT STATEMENT Optimizer=ALL_ROWS (Cost=2 Card=1 Bytes=18)
1 0
TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=2 Card=1 Bytes=18)
2 1
INDEX (RANGE SCAN) OF 'EMP_ID1' (INDEX) (Cost=1 Card=1)
- 什么复合索引前导列?
- 什么复合索引前导列?
- 复合索引与其前导列
- 复合索引的前导列如何选择?
- 使用索引的误区之一:没有使用复合索引的前导列导致查询不使用索引
- 使用索引的误区之一:没有使用复合索引的前导列导致查询不使用索引
- 使用索引的误区之一:没有使用复合索引的前导列导致查询不使用索引
- 使用索引的误区之一:没有使用复合索引的前导列导致查询不使用索引——oracle
- 使用索引的误区之一:没有使用复合索引的前导列导致查询不使用索引
- oracle的索引使用:复合索引中的前导索引
- 复合索引的列顺序判断
- 复合索引在什么情况下使用
- ★什么是index的leading column(索引的前导列)?
- ★★ 组合索引的前导列与查询——ORACLE
- 【Oracle index】组合索引如何选择前导列的几点考虑
- Oracle 中的复合索引谁放在第一列上。
- Pandas如何将Series的复合索引提取为列?
- 复合列
- VC++6.0 单步调试
- Newton's method
- QT正则表达式---针对Ip地址系列
- 今天的种到地下的普宁论坛
- 搭建SAP开发环境(1)-- 安装Netweaver Developer Edition
- 什么复合索引前导列?
- phonegap入门--4 Camera 摄像头
- three.js入门2
- linux中“~”的作用及ubuntu设置超级用户
- 【C++】new A和new A()的区别详解
- ubuntu 下resolv.conf文件的自动覆盖问题
- STL容器里存放对象还是指针
- 揭秘正则表达式的神秘面纱
- JVM原子操作的实现与一点改进想法