数据库优化方案1. 高效地进行 SQL 语句设计:普通状况下,可以采纳下面办法优化 SQL 对数据操作体现:(1)减少对数据库查询次数,即减少对系统资源祈求,使用快照和显形图等分布式数据库对象可以减少对数据库查询次数。(2)尽量使用相似或非常类似 SQL 语句进行查询,这样不但充分运用 SQL 共享池中已经分析语法树,要查询数据在 SGA 中命中也许性也会大大增长。(3)避开不带任何条件 SQL 语句执行。没有任何条件 SQL 语句在执行时,普通要进行FTS,数据库先定位一种数据块,然后按顺序依次查找其他数据,对于大型表这将是一种漫长过程。(4)假如对有些表中数据有约束,最佳在建表 SQL 语句用描述完整性来实现,而不是用SQL 程序中实现。一、操作符优化:1、IN 操作符用 IN 写出来 SQL 长处是比较容易写及清楚易懂,这比较适合当代软件开发风格。但是用 INSQL 性能总是比较低,从 Oracle 执行环节来分析用 INSQL 与不用 INSQL 有如下区别:ORACLE 试图将其转换成各种表连接,假如转换不成功则先执行 IN 里面子查询,再查询外层表记录,假如转换成功则直接采纳各种表连接方式查询。由此可见用 INSQL 至少多了一种转换过程。普通 SQL 都可以转换成功,但对于具有分组记录等方面 SQL 就不能转换了。在业务密集 SQL 当中尽量不采纳 IN 操作符。优化 sql 时,常常遇到使用 in 语句,一定要用 exists 把它给换掉,由于 Oracle 在解决 In时是按 Or 方式做,虽然使用了索引也会很慢。2、NOT IN 操作符 强列推举不使用,由于它不能应用表索引。用 NOT EXISTS 或(外连接+推断为空)方案代替3、IS NULL 或 IS NOT NULL 操作推断字段与否为空普通是不会应用索引,由于 B 树索引是不索引空值。用其他相似功能操作运算代替,a is not null 改为 a>0 或 a>’’等。不容许字段为空,而用一种缺省值代替空值,如业扩申请中状态字段不容许为空,缺省为申请。避开在索引列上使用 IS NULL 和 IS NOT NULL 避开在索引中使用任何可觉得空列 ,ORACLE 将无法使用该索引.对于单列索引,假如列包括空值,索引中将不存在此记录.对于复合索引,假如每个列都为空,索引中同样不存在此记录.假如至少有一种列不为空,则记录存在于索引中.举例:假如唯一性索引建立在表 A 列和 B 列上,并且表中存在一条记录A,B 值为(123,null) ,ORACLE 将不接受下一条具备相似 A,B 值(123,...