`

oracle 编码规范

 
阅读更多
军规一:【恰当控制事务大小,commit不要过于频繁。】
军规二:【在OLTP系统中一定要注意使用绑定变量。】
军规三:【在OLTP系统中一定要注意复杂的多表关联不宜超过4个,关联十分复杂时,需要拆分成多个步骤,防止执行计划不正确。】
军规四:【合理收集统计信息,固定住SQL的执行计划。】
军规五:【尽量避免使用XA事务,在RAC环境中要避免XA事务跨节点操作。】
军规六:【不可以对表或索引指定并行度,如果使用Oracle并行处理方式(并行查询、并行DML),只能在具体语句中指定并行度。在并行建表或者建索引之后,需要手工设置其并行度为1。】
军规七:【避免频繁的检索lob类型及较长字符型的字段,尽量不要在较长字符串的字段上建立索引,如char(1000)、varchar2(1000)等。】
军规八:【任何表的设计都要考虑到数据的删除策略,表中的数据不能无止境的增长而不删除。对于大批量数据的删除,要考虑使用特殊方式处理,不要使用delete方式。】
军规九:【合理设计数据库对象】
军规十:【合理使用RAC】



军规九:【合理设计数据库对象】
数据库对象是SQL优化的基础,由于数据库对象一旦建立,后续整改将十分困难,因此在设计过程中就需要考虑扩展性、性能、可维护性等相关因素。
以下关于数据库对象的设计要点是一定要遵循的:

名称 要点
表空间 1.空间根据业务特征或者功能特征进行分离。
2.数据文件的数目不宜过多也不宜过少,过多会导致占用较多的资源,过少会导致资源竞争。
3. 新建立的表空间必须采用本地管理和自动段空间管理。
4. 没有必要频繁的整理表空间中的碎片。
表设计 1.数据库表和字段命名必须规范。
2.字段数据类型定义必须规范。
3.表的设计要尽量满足第二范式。
4.任何表的设计都要考虑到数据的删除策略,表中的数据不能无止境的增长而不删除。
5.除非基于特殊情况考虑,通常情况下每个表都要有主键。
6.尽量避免使用大字段(LOB)或者超长字段(varchar2 > 1000)。
索引 1.数据库索引命名必须规范。
2.表的主键、外键必须有索引。
3.经常查询且选择率低于5%的列需要建立索引。
4.经常与其他表进行连接的表,在连接字段上应该建立索引。
5.位图索引适合于DSS或者OLAP,不应该在OLTP的系统中或者DML操作较频繁的列上建立位图索引。
6.可以适当的使用函数索引来完成特殊的优化。
7.避免大范围的使用复合索引,复合字段不宜过多。
分区 1.分区表上尽量使用本地索引。
2.使用分区表可以有效地分割数据,易于管理,提高性能和可用性。
3.依据业务特性合理的设计与使用分区表。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics