随笔分类 - SQL优化
摘要:收到数据库服务器cpu告警,当时在吃饭,来不及登录查看。(数据库80%的问题都是SQL引起的) 后续通过会话快照信息进行分析。 select sample_time,sql_id,count(*) from dba_hist_active_sess_historywhere sample_time>
阅读全文
摘要:SQL如下(MYSQL版本为8.0.17): select lastname from (select id,loginid,workcode,lastname from HrmResource union all select id,loginid,'' as workcode,lastname
阅读全文
摘要:数据库版本为:11.2.0.4 当cursor_sharing为SIMILAR或者FORCE时候,将会导致函数索引失效; 表doc_order_header列有LASTSHIPMENTTIME得函数索引; 当时通过v$session视图发现,过滤条件to_char(h.lastshipmenttim
阅读全文
摘要:执行5分钟还没执行完; explain update ind_shop t1 join (select shop_id,(case when `value`='男装' then 1 when `value`='女装' then 2 when `value`='男女装' then 3 else 0 e
阅读全文
摘要:很简单的sql: select * from (select * from issue.db_infoorder by creator_date) where rownum<10 执行计划如下: 此查询需要12秒左右。 创建索引 create index idx_time on db_info(cr
阅读全文
摘要:表结构如下: create table a_tran(id number,region varchar2(50),tran_date varchar2(50) )partition by list (region)(partition p_1 values (1),partition p_2 val
阅读全文
摘要:--im_cons_integral表为分区表按照org_no(单位编码)分区 有效期历史数据处理 begin for cur in (select * from sgpm.o_org where org_type in ('04','05', '06')) loop insert into a_t
阅读全文
摘要:explain plan for select '33101' org_no, nvl(count(*), 0) outNum from CPSS.k_id_staff_tqjl_v a where a.pda_status_code = '002' and a.gds_no in (SELECT
阅读全文
摘要:SQL Monitoring Report SQL Text SELECT TACTIC_DET_ID, CALC_ID, ORG_NO, CONS_ID, CONS_NO, ESTI_PQ, ESTI_AMT, YM, YMD, COLL_TIME, ESTI_DATE, ACT_AMT, BAS
阅读全文
摘要:create table sales ( year number, sales number ); insert into sales values (2020,1000); insert into sales values (2021,2000); insert into sales values
阅读全文
摘要:SELECT COUNT(1) cnt FROM( SELECT MAX(TT.ORG_NO) 服务区域, MAX(TT.MR_SECT_NO) , MAX(CBDMC) , MAX(CBYDM) , MAX(CBYXM) , TT.CONS_NO , MAX(HM) , MAX(DZ) , MAX
阅读全文
摘要:查询语句大量阻塞,event为latch:buffer cache chain(该语句属于热链)。 查询结果跑不出来。 explain plan for SELECT K.IDX_CODE, NVL(AA.COUNT, 0) VALUE FROM K_AMR_CONFIG K LEFT JOIN (
阅读全文
摘要:业务反应某个模块加载很慢(需要一分钟左右),以前是正常的。 配合业务部门,跟踪他们业务上的会话,数据库gv$session定位到慢sql,sql_child_number为2。 获取执行计划 selet * from table(dbms_xplan.display_cursor('xxx',2))
阅读全文
摘要:SQL Monitoring Report SQL Text INSERT INTO FS_PAY_DET_INFO (PAY_DET_ID, PAY_INFO_ID, GC_TYPE_CODE, GRA_PQ, PAY_GRA_AMT, PUR_PQ, PAY_PUR_AMT) SELECT PK
阅读全文
摘要:业务反应慢sql,sql_id为6dvj1fy4n5f6a。通过v$sql_monitor视图查看慢sql的详细信息。信息如下: SQL Monitoring Report SQL Text SELECT MAX(rebuild_id) rebuild_id FROM (SELECT rebuild
阅读全文
摘要:sql执行频繁,单次执行时间存在性能问题。sql如下:select t.cons_no, t.cons_name, t.elec_addr, t.contract_cap t_contract_cap, (select b.tg_id from s_mp_scheme b where exists
阅读全文
摘要:业务反应某sql执行慢,影响部分业务。通过v$session视图获取会话当前的sql_id,在通过v$sql_bind_capture或dba_hist_sqlbind等视图获取该sql绑定变量的值。 设置会话级别参数(执行计划详细信息):ALTER SESSION SET statistics_l
阅读全文
摘要:目前oracle支持得表关联方式为三种: 循环嵌套连接(mysql也支持) hash连接 (mysql8.0以后支持) 排序合并连接 循环嵌套连接 适合小表驱动大表,驱动表结果集不能太多 被驱动表与驱动表得关联字段,字段选择性较好(适合的扫描方式:索引唯一扫描和索引范围扫描) 关联后返回少量的结果集
阅读全文
摘要:--表信息-- select owner, table_name, tablespace_name, num_rows,/*表数据量*/ temporary,/*是否是临时表*/ degree,/*并行度*/ blocks,/*快的数量*/ empty_blocks,/*空块的数量*/ last_a
阅读全文
摘要:1、分批UPDATEDROP TABLE T2;CREATE TABLE T2 AS SELECT OBJECT_NAME FROM DBA_OBJECTS;SELECT * FROM T2;SELECT COUNT(*) FROM T2;DECLARE TYPE RIDARRAY IS TABLE
阅读全文