昨天,广州同事像开发反应在录制内容等的时候很慢。开发要求先优化数据库
(他们不愿意改代码,东莞有过类似情况,要求他们改代码,开发不改)
通过AWR检查发现对一个表存在大量的物理读,并且该表上面没有建立任何索引。
物理读与逻辑读差不多55开
对该表建立索引
-- Create/Recreate primary, unique and foreign key constraints
alter table CMS_LIVESHEET add constraint PK_CMS_LIVESHEET primary key (LIVEID);
-- Create/Recreate indexes
create index IND_NODEMAP_SN on PORTAL_NODE_CONTENT_MAP (node_id, state);
create index IND_MEDICAL_REGINFO_1 on MEDICAL_DOCTOR_REGINFO (hospital_id, section_id, regdate);
create index IND_CMS_L_R_LIVEID on CMS_LIVESHEET_RECOMMEND (LIVE_ID);
create index INX_CMS_LIVESHEET_TC on CMS_LIVESHEET (CONTENTID, ENDTIME, PLAYTIME)
将表放进保存池中(该表有30M左右)
sql>alter system set db_keep_cache_size=100m scope=both;
sql>alter table citycms.cms_livesheet storage (buffer_pool keep);
修改过后经过三个个小时在通过awr统计情况如下
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22779291/viewspace-678518/
,如需转载,请注明出处,否则将追究法律责任。