oracle 数据库 设计规范:包括字段命名规范,表命名规范
5.2.7 在WHERE中,数据库函数、计算表达式等等,要尽可能将放在等号右边。否则会使所比较的字段上的索引失效;如:
SELECT *
FROM service_promotion
WHERE TO_CHAR(gmt_modified,’yyyy-mm-dd’)
= ‘20001-09-01’;
而应使用:
SELECT *
FROM service_promotion
WHERE gmt_modified
>= TO_DATE(‘2001-9-01’,’yyyy-mm-dd’)
AND gmt_modified
< TO_DATE(‘2001-9-02’,’yyyy-mm-dd’);
5.2.8 in、or子句常会使索引失效,尽可能不使用in、or;
5.2.9 尽量避免在循环中使用SQL语句;
5.2.10 在循环中尽量使用动态SQL语句提高执行性能;
6 其他与性能有关的设计原则
前面与提高数据库访问的性能相关的内容,这里就不再重复了,下面提出一些与数据库性能极为相关,但上文又未涉及的条目:
6.1 大数据量的开发环境
开发过程中,开发人员往往使用一个非常简单的、只有很少数据的数据库环境,便于程序的调试。但是,最好还提供一个数据量与真实环境相当的环境,数据量和应用的设计目标差不多,供开发人员使用。这样开发人员能立刻发现那些非常慢的数据库操作,比如写了一个非常不合理的SQL,因而能够在此时就排除,而不必等到测试或者甚至上线时才发觉。因为很多开发人员,由于对数据库的认识不够,通常只以完成功能为首要目的,容易写出效率非常低的SQL;
6.2 限制使用
这里说的限制使用是指如果能有其他的技术途径,就不要使用如下的Oracle技术,包括:DBLink, Trigger,用Java编写的存储过程等内容;
6.3 模拟测试
这里说的测试主要是指模拟实际应用对数据库的操作,进行测试,并发及访问量要