近日在调优查询优化,一般的方法都是优化sql,创建索引,修改数据库配置
1,优化sql自不必多说
2,创建索引的语法如下:
CREATE INDEX 索引名 ON 表名(列名);
删除索引语法如下
drop index 索引名
3,修改数据库配置sga和pga
SGA(SGA_TARGET):System Global Area是Oracle Instance的基本组成部分,在实例启动时分配;系统全局域SGA主要由三部分构成:共享池、数据缓冲区、日志缓冲区。
我们可以通过 show sga; 和show pga; 来查询具体数据
可以通过 show parameter sga 和show parameter pga 查询最大的参数值
修改sga语法如下
alter system set sga_max_size=5120M scope=spfile;
alter system set sga_target=5120M scope=spfile;
修改pga语法如下
alter system set pga_aggregate_target=1024M scope=spfile;
修改后需要重启数据库
4,修改数据库配置sort_area_size
如果是排序慢,可能是sort_area_size设置过小,一般我们都没有设置,是默认值64k
我们可以先对排序字段创建索引,然后执行如下操作,增大sort_area_size
alter system set sort_area_size=65535000 scope=spfile;
修改后需要重启数据库,注意如果重启数据库后,发现没效果
查看sql show parameter workarea_size_policy; 发现值是auto,将其进行修改即可
alter system set workarea_size_policy=MANUAL scope=spfile;
再次重启数据库生效。
爆款云服务器s6 2核4G 低至0.46/天,具体规则查看活动详情