delete操作为什么引起磁盘排序
一个表上有索引,当对这个表进行delete操作时,为什么会带来磁盘排序?难道对索引数据进行删除时还要排序吗?
索引扫描(四)-索引全扫描
SQL> select table_name,index_name,column_name,column_position from user_Ind_columns where table_name='EMPLOYEES'; TABLE_NAME &...
case 函数的使用
例子:统计employees表中2000以下,2000-4000,4000以上范围内各自的工资总额,按照常规写法,需要写3条sql,分别统计这三个范围内的工资总和。使用case语句,可以用一条sql完成,且相应的资源消耗也降低。常规写法...
索引扫描(三)索引范围扫描与索引降序范围扫描
.当按照要对数据进行排序时,如果排序列为索引列,则优化器会略去排序的步骤,因为索引列本身已经做了排序的工作。SQL> select * from employees order by employee_id; Execution Plan----------------------...
索引扫描(二)-索引跳跃扫描
1. 关于索引跳跃扫描 举个例子说明,表employees上有2列sex,employee_id,在(sex,employee_id)上创建复合索引,这两列上的值分布类似于:('F',98)('F',100)('F',102)('F',104)('M',101)('M',103)('...
索引扫描(一)-聚簇因子
假设一个表中有9行记录,分布在3个block上,按照其中列col1的分布情况,分为以下两种情况:Block 1 Block 2 Block 3 ------...
并行度对优化器的影响
当表的并行度被设置为大于1时,如果where条件为范围而不是=,优化器更倾向于使用全表扫描,而不是索引范围扫描。SQL> alter table employees parallel(degree 5); Table altered. SQL> select * from emp...
影响优化器的几个参数
Controlling the Behavior. of the Query OptimizerThis section lists some initialization parameters that can be used to control the behavior. of the query optimizer. These parameters can be used to enab...
使用SQL Tuning Advisor
1. 创建sql tuning任务SQL> DECLARE my_task_name VARCHAR2(30); my_sqltext CLOB;BEGIN my_sqltext :='SELECT /*+ ORDERED */ * ' &n...
nested loop join探讨
概述:本测试创建两个测试表,t1中有记录10万条,t2中记录10条。分别创造不同的条件,进行nested loop join,并比较不同条件下产生的逻辑读数量。在测试中均加了相应的hints,以避开优化器自动产生的执行计划。1. ...