创建索引
create index 索引名 on 表名(列名,列名); -- 普通索引
create unique 索引名 on 表名(列名,列名); -- 唯一索引
drop index 索引名; -- 删除索引
重建索引
drop index 索引名; -- 耗时长,无法在24*7环境中实现
alter index 索引名 rebuild (online); -- 比较快,可以在24*7环境中实现
优化器类型
first_rows -- 适用交互式操作(倾向于走索引)
all_rows -- 适合批量报表操作(倾向于走全表)
查看修改优化器
show parameter optimizer_mode ; -- 查看Oracle使用的优化器
alter session set optimizer_mode=first_rows; -- 修改会话的的优化器,只在当前会话生效
查看执行计划
>> expain for sql语句;
>> select * from table(dbms_xplan.display); -- 执行两部才能查看到执行计划
INDEX FULL SCAN (MIN/MAX) -- max(),min() 执行计划使用此索引效率高
table access full -- 全表扫描
index range index -- 范围扫描(例:有1到100个序列,分5个范围,要查询45就要到3这个范围里查,这样会很快)
fast full scan -- 是指从该index段的头部到尾部开始快速扫描
skip scan index -- 跳跃式索引