oracle 优化tips

来源:互联网 发布:c socket网络编程 编辑:程序博客网 时间:2024/06/05 17:39
1.同时,这种通过序列、时间戳或按某种规则单调生成主键的表,可以因为使用REVERSE(反转)类型索引来有效的降低索引“单向右增长”(right- growing index)的可能性,即会影响到响应时间和吞吐量。如果在基于RAC的环境中,REVERSE类型的索引会更为适用。      但要注意,使用REVERSE类型的索引在查询操作时会被限制使用基于索引区间的扫描(index range scans)。但反向键索引也有它局限性:如果在WHERE语句中,需要对索引列的值进行范围性的搜索,如BETWEEN、<、>等,其反向键索引无法使 用,此时,Oracle将执行全表扫描;只有对反向键索引列进行 <> 和 = 的比较操作时,其反向键索引才会得到使用。create unique index IDX_ORDER_ID on T_ORDER ( ORDER_ID ASC) reverse;2.子表的外键可以设置成压缩类型。create index IDX_ORDER_ITEM_ORDER_ID on T_ORDER_ITEM ( ORDER_ID ASC) compress;3.在需要进行频繁DML(INSERT,UPDATE,DELETE)操作的表的某些基数低的字段(如性别,婚姻状态)上创建位图索引。位图索引是好东西, 但它是有使用范围的,在OLTP系统中,需要进行频繁DML操作的表中不应该出现位图索引,位图索引只适用于几乎不进行DML操作,只进行查询的DSS系 统中。此外,聚簇和索引组织表也都更适合DSS系统,而非OLTP系统
原创粉丝点击