Oracle 技术
块,区间,段,分区,表空间:
表和索引由被称为区间(extent)的独立存储单元组成。区间由非常小的称为块(block)的存储单元组成,块大小一般为8kb到32kb。
对非分区的表与索引来说,区间是单一段(segment)的一部分,该段表示表或索引的物理存储。分区表或索引则有多个段组成,每个段表示一个分区(partition)
段必须属于特定的表空间,表空间定义段的存储特性(如块大小),表空间有多个数据文件组成,段所属的表空间决定了组成这个段的区间都包含在哪些数据文件中。段可以分布在多个数据文件上,但一个区间只能在一个特的那个的数据文件中。
创建用户时指定表空间后才可在用户/Schema下 建表等对象。
表分区:事大表数据物理存储不同的表空间。
作用:增强可用性:如果表的某个分区出现故障,表在其他分区的数据仍然可用; 维护方便:如果表的某个分区出现故障,需要修复数据,只修复该分区即可;均衡I/O:可以把不同的分区映射到磁盘以平衡I/O,改善整个系统性能;改善查询性能:对分区对象的查询可以仅搜索自己关心的分区,提高检索速度
类型:range,interval,list,hash 等
集群:
并行
性能优化
游标
批量提取:fetch bulk collect into 的使用格式是:fetch some_cursor collect into col1, col2 limit xxx。col1、col2 是声明的集合类型变量,xxx 为每次取数据块的大小
存储过程
自定义异常
物化视图:
刷新(Refresh):指当基表发生了DML操作后,物化视图何时采用哪种方式和基表进行同步。刷新的模式有两种:ON DEMAND和ON COMMIT。ON DEMAND指物化视图在用户需要的时候进行刷新,可以手工通过DBMS_MVIEW.REFRESH等方法来进行刷新,也可以通过JOB定时进行刷新。ON COMMIT指出物化视图在对基表的DML操作提交的同时进行刷新。刷新的方法有四种:FAST、COMPLETE、FORCE和NEVE*。**ST刷新采用增量刷新,只刷新自上次刷新以后进行的修改。COMPLETE刷新对整个物化视图进行完全的刷新。如果选择FORCE方式,则Oracle在刷新时会去判断是否可以进行快速刷新,如果可以则采用FAST方式,否则采用COMPLETE的方式。NEVER指物化视图不进行任何刷新。默认值是FORCE ON DEMAND
索引:B*树索引,
位图索引:特别适合性别/学历之类基数低的字段。
执行计划:如何查看分析,计划表PLAN_TABLE
EXPLAIN PLAN FOR
SELECT * from TABLE ;
SELECT PLAN_TABLE_OUTPUT FROM TABLE(DBMS_XPLAN.DISPLAY());
优化器:CBO,RBO 基入成本,基入规则
分析函数:
窗口:逻辑行range,物理行rows RANGE/ROWS BETWEEN 100 preceding AND 500 following
排名分析函数有row_number,dense_rank,rank,first,last,first_value,last_value等,row_number,dense_rank,rank的区别
其中row_number,dense_rank,rank,first,last都需要order by,first_value和last_value可以不指定

浙公网安备 33010602011771号