sql优化
数据库优化,主要有sql优化。
sql优化主要有:
索引是否建立,
索引是否因为函数而失效 (UPPER(user_name))
表的连接
索引和全表扫描。当需要扫描一张表的大部分的数据的时候,请选择全表扫描。
sql优化思考步骤,就是了解oracle如何去执行这条语句,就是通过看执行计划
explain plan statement_id as “” for select * from employee;
给执行计划起一个名字
视图默认为执行计划的一部分,不显示出来。
sql优化报告
查询的频率。
查询的sql。
查询的磁盘i/o ,cpu
查询的时间。
调优后的sql,查询的磁盘,cpu,查询的时间。
在unix 可以使用top 工具来查看所有应用程序的 $ top
sql 在嵌套查询的时候,很容易让子查询来重复执行多次,需要注意。特别对于远程sql查询。
oracle 有对两个时间点,的参数查询对比工具,
sql 语句范围要先缩小。找箱子中的文件类似
- sql优化关键是要找出跟本原因,提供解决方案,解决方案必须现在安全的环境中进行运行,不对生产的数据造成影响。
- 索引
- 提供索引,多列索引,索引因为函数失效,不应该用索引(对于需要全表扫描的,变化小的),
- sql 嵌入查询导致远程查询多次,嵌入查询的要先缩小范围,嵌入查询比联合排序快,连接查询的表排序不对。
- sql,执行计划主要为了来查看sql执行的cpu,io,时间等信息。