A,避免在索引列上使用 IS NULL 和 IS NOT NULL 操作 避免在索引中使用然后可以为空的列,ORACLE将无法使用该索引.对于单列索引 如果包含空值,索引将不存在此记录.对于复合索引 如果每个列都为空,索引中同样不存在此记录.如果至少有一个列不为空则记录存在于索引中 B, 用 UNION 替换 OR (适用于索引列) 通常情况下,用UNION替换where子句中的OR会起到较好的作用.对索引列使用OR会造成全表扫描.(以上规则只针对多个索引列有效,如果column没有被索引,查…
众所周知,缓存数据库查询的结果可以显著缩短脚本执行时间,并最大限度地减少数据库服务器上的负载.如果要处理的数据基本上是静态的,则该技术将非常有效.这是因为对远程数据库的许多数据请求最终可以从本地缓存得到满足,从而不必连接到数据库.执行查询以及获取结果. 但当您使用的数据库与 Web 服务器位于不同的计算机上时,缓存数据库结果集通常是一个不错的方法.不过,根据您的情况确定最佳的缓存策略却是一个难题.例如,对于使用最新数据库结果集比较重要的应用程序而言,时间触发的缓存方法(缓存系统常用的方法,它假设…