温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

oracle表和索引设计基本建议

发布时间:2020-08-09 13:39:03 来源:ITPUB博客 阅读:220 作者:colin_cwc 栏目:关系型数据库
表物理设计基本建议:
1、除特殊需求,建议采用普通的堆表(heap table)。
2、每个表在创建的时候,建议制定所在的表空间,不用默认表空间。
3、建议根据dml操作频度数值,如果update操作频度高,则可将PCTFREE设置为较高,反之,则可将PCTFREE设置为较低。
4、当表中存在大量delete操作时,PCTUSED值的增大,将提高空间的使用率。
5、对并发访问量比较高的表和索引,将INITRANS设置较大,特别是针对索引,例如设置INITRANS设为10.
6、对较小的代码和参数表,可考虑IOT表技术。
7、如果某个静态表关系比较密切,则可以采用聚簇表的方法。

索引设计基本建议:
1、通常而言,交易系统建立为B*树索引,对数据库仓库,则可考虑Bitmap、Bitmap join等索引。
2、通过分析应用软件对数据访问方式,展开索引设计。
3、索引和数据分别存储在不同的表空间。
4、不要对索引字段进行运算。
5、不要对索引字段进行格式转换。
6、不要对索引字段使用函数。
7、加强使用和索引效率的分析。
8、不要对索引字段使用NULL值,因为索引不能存储空值。

B*树单字段索引设计建议:
1、分析sql语句中的约束条件字段。
2、如果约束条件不固定,建议创建针对单字段的普通B*索引。
3、选择可选性最高的字段建立索引。
4、如果是夺标连接sql语句,注意被驱动表(drived table)的连接字段是否需要创建索引。
5、通过多种sql分析工具,分析执行计划并以量化形式评估效果。

复合索引设计建议
1、分析sql语句中的约束条件字段。
2、如果约束条件字段比较固定,则优先考虑创建多字段的普通B*树复合索引。
3、如果字段是主键或唯一条件,或者可选性非常高的字段,尽管约束条件字段比较固定,也不一定要建成复合索引,可建成单字段索引,降低复合索引开销。
4、在复合索引的第一个字段作为约束条件,该复合索引才会启用,按照可选性高低,进行复合索引字段的排序。

本文建议摘自罗敏老师的《oracle品悟高性能优化》。



















向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI