最小化应用对数据库的需求。也就是说,数据库应该以最少的操作来满足应用的数据请求。宽泛地讲,本文使用如下技术来降低应用的工作负载。
1、优化应用代码这可能涉及改变应用代码( C#, Ruby或Java ),这样它们就可以向数据发出更少的请求(例如,通过使用客户端缓存)。当然,更多时候还涉及重写应用SQL与(或)PL/SQL代码。
2、修改应用数据库的物理实现这可能涉及调整索引、反规范化或者分区。
3、将应用结构化以避免数据库过载应用可以避免对数据库发出不必要的请求。也可以被设计得更好以最小化锁和其他争用。
4、在设计并实现与Oracle进行通信的程序时,保证数据库的网络往返操作和不必要的请求最小化。
5、优化数据库物理设计这包含通过创建索引、反规范化、创建分区以及其他涉及数据物理结构的方式来减少执行SQL请求相关的操作。
6、优化Oracle的查询优化器恰当地配置优化器统计信息,在必要的时候覆盖优化器的计划,开始对SQL的性能进行不断监测。
7、优化单条SQL语句的性能这可能涉及使用提示(hint)、存储概要(stored outline ), SQL剖析(Profile)以及SQL重写(rewrite)来改变SQL语句的执行计划。
8、使用并行SQL允许使用多个进程来执行SQL语句。
9、优化并使用PL/SQL程序在特定环境下可以使用PL/SQL来提高应用性能,PL/SQL程序为调优带来了独特的挑战与机遇。
总结,以上这些技术不仅是调优工作的起点,也能带来最显著的性能提升。通过对SQL调优而带来百倍甚至千倍的性能提升是件很平常的事情.但是在优化争用、优化内存或者调整物理磁盘布局时很少能见到这么大的提升。
最小化应用对数据库的需求。也就是说,数据库应该以最少的操作来满足应用的数据请求。宽泛地讲,本文使用如下两种技术来降低应用的工作负载。
1、优化应用代码这可能涉及改变应用代码( C#, Ruby或Java ),这样它们就可以向数据发出更少的请求(例如,通过使用客户端缓存)。当然,更多时候还涉及重写应用SQL与(或)PL/SQL代码。
2、修改应用数据库的物理实现这可能涉及调整索引、反规范化或者分区。
3、将应用结构化以避免数据库过载应用可以避免对数据库发出不必要的请求。也可以被设计得更好以最小化锁和其他争用。
4、在设计并实现与Oracle进行通信的程序时,保证数据库的网络往返操作和不必要的请求最小化。
5、优化数据库物理设计这包含通过创建索引、反规范化、创建分区以及其他涉及数据物理结构的方式来减少执行SQL请求相关的操作。
6、优化Oracle的查询优化器恰当地配置优化器统计信息,在必要的时候覆盖优化器的计划,开始对SQL的性能进行不断监测。
7、优化单条SQL语句的性能这可能涉及使用提示(hint)、存储概要(stored outline ), SQL剖析(Profile)以及SQL重写(rewrite)来改变SQL语句的执行计划。
8、使用并行SQL允许使用多个进程来执行SQL语句。
9、优化并使用PL/SQL程序在特定环境下可以使用PL/SQL来提高应用性能,PL/SQL程序为调优带来了独特的挑战与机遇。
总结,以上这些技术不仅是调优工作的起点,也能带来最显著的性能提升。通过对SQL调优而带来百倍甚至千倍的性能提升是件很平常的事情.但是在优化争用、优化内存或者调整物理磁盘布局时很少能见到这么大的提升。