| file sequential read 17 file#
316 db file sequential read 17 file#
313 db file sequential read 17 file#
SID EVENT P1 P1TEXT
---------- ------------------------------ ---------- ----------------------------------------------------------------
305 db file sequential read 17 file#
303 db file sequential read 17 file#
301 db file sequential read 17 file#
293 db file sequential read 17 file#
290 db file sequential read 17 file#
288 db file sequential read 17 file#
287 db file sequential read 17 file#
273 db file sequential read 17 file#
271 db file sequential read 17 file#
257 db file sequential read 17 file#
256 db file sequential read 17 file#
SID EVENT P1 P1TEXT
---------- ------------------------------ ---------- ----------------------------------------------------------------
254 db file sequential read 17 file#
252 db file sequential read 17 file#
159 db file sequential read 17 file#
153 db file sequential read 17 file#
146 db file sequential read 17 file#
142 db file sequential read 17 file#
135 db file sequential read 17 file#
133 db file sequential read 17 file#
132 db file sequential read 17 file#
126 db file sequential read 17 file#
79 db file sequential read 17 file#
SID EVENT P1 P1TEXT
---------- ------------------------------ ---------- ----------------------------------------------------------------
77 db file sequential read 17 file#
72 db file sequential read 17 file#
70 db file sequential read 17 file#
69 db file sequential read 17 file#
67 db file sequential read 17 file#
63 db file sequential read 17 file#
55 db file sequential read 17 file#
102 db file sequential read 17 file#
96 db file sequential read 17 file#
95 db file sequential read 17 file#
91 db file sequential read 17 file#
SID EVENT P1 P1TEXT
---------- ------------------------------ ---------- ----------------------------------------------------------------
81 db file sequential read 17 file#
15 db file sequential read 17 file#
19 db file scattered read 17 file#
50 db file scattered read 17 file#
285 db file scattered read 17 file#
279 db file scattered read 17 file#
255 db file scattered read 17 file#
243 db file scattered read 17 file#
196 db file scattered read 17 file#
187 db file scattered read 17 file#
170 db file scattered read 17 file#
SID EVENT P1 P1TEXT
---------- ------------------------------ ---------- ----------------------------------------------------------------
162 db file scattered read 17 file#
138 db file scattered read 17 file#
110 db file scattered read 17 file#
108 db file scattered read 17 file#
92 db file scattered read 17 file#
330 db file scattered read 17 file#
310 db file scattered read 17 file#
302 db file scattered read 17 file#
299 db file scattered read 17 file#
89 db file scattered read 17 file#
5 smon timer 300 sleep time
SID EVENT P1 P1TEXT
---------- ------------------------------ ---------- ----------------------------------------------------------------
20 SQL*Net message to client 1952673792 driver id
103 SQL*Net message to client 1650815232 driver id
....
148 SQL*Net more data from client 1952673792 driver id
291 SQL*Net more data from client 1952673792 driver id
244 rows selected.
发现存在大量db file scattered read及db file sequential read等待.
5.捕获相关SQL
这里用到了我的以下脚本getsqlbysid.sql:
SELECT sql_text
FROM v$sqltext a
WHERE a.hash_value = (SELECT sql_hash_value
FROM v$session b
WHERE b.SID = ''''&sid'''')
ORDER BY piece ASC
/
SQL> @getsql
Enter value for sid: 18
old 5: where b.sid=''''&sid''''
new 5: where b.sid=''''18''''
SQL_TEXT
----------------------------------------------------------------
select i.vc2title,i.numinfoguid from hs_info i where i.intenab
ledflag = 1 and i.intpublishstate = 1 and i.datpublishdate <=
sysdate and i.numcatalogguid = 2047 order by i.datpublishdate d
esc, i.numorder desc
SQL> /
Enter value for sid: 54
old 5: where b.sid=''''&sid''''
new 5: where b.sid=''''54''''
SQL_TEXT
----------------------------------------------------------------
select i.vc2title,i.numinfoguid from hs_info i where i.intenab
ledflag = 1 and i.intpublishstate = 1 and i.datpublishdate <=
sysdate and i.numcatalogguid = 33 order by i.datpublishdate des
c, i.numorder desc
SQL> /
Enter value for sid: 49
old 5: where b.sid=''''&sid''''
new 5: where b.sid=''''49''''
SQL_TEXT
----------------------------------------------------------------
select i.vc2title,i.numinfoguid from hs_info i where i.intenab
ledflag = 1 and i.intpublishstate = 1 and i.datpublishdate <=
sysdate and i.numcatalogguid = 26 order by i.datpublishdate des
c, i.numorder desc
对几个全表扫描进程跟踪以后,得到以上SQL语句. 以上语句如果良好编码应该使用绑定变量.但是现在这个不是我们关心的.
使用该应用用户连接,检查其执行计划:
SQL> set autotrace trace explain
SQL> select i.vc2title,i.numinfoguid
2 from hs_info i where i.intenabledflag = 1
3 and i.intpublishstate = 1 and i.datpublishdate <=sysdate
4 and i.numcatalogguid = 3475
5 order by i.datpublishdate desc, i.numorder desc ;
Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE (Cost=228 Card=1 Bytes=106)
1 0 SORT (ORDER BY) (Cost=228 Card=1 Bytes=106)
2 1 TABLE ACCESS (FULL) OF ''''HS_INFO'''' (Cost=218 Card=1 Bytes=106)
SQL> select count(*) from hs_info;
COUNT(*)
----------
227404
该表这里有22万记录,全表扫描已经不再适合.
检查该表,存在以下索引:
SQL> select index_name,index_type from user_indexes where table_name=''''HS_INFO'''';
INDEX_NAME INDEX_TYPE
------------------------------ ---------------------------
HSIDX_INFO1 FUNCTION-BASED NORMAL
HSIDX_INFO_SEARCHKEY DOMAIN
PK_HS_INFO NORMAL
检查索引键值:
SQL> select index_name,column_name from user_ind_columns where table_name =''''HS_INFO'''';
INDEX_NAME COLUMN_NAME
------------------------------ --------------------
HSIDX_INFO1 NUMORDER
HSIDX_INFO1 SYS_NC00024$
HSIDX_INFO_SEARCHKEY VC2INDEXWORDS
PK_HS_INFO NUMINFOGUID
SQL> desc hs_info
Name Null? Type
----------------------------------------------------------------- -------- ---------------------------
NUMINFOGUID NOT NULL NUMBER(15)
NUMCATALOGGUID NOT NULL NUMBER(15)
INTTEXTTYPE NOT NULL NUMBER(38)
VC2TITLE NOT NULL VARCHAR2(60)
VC2AUTHOR VARCHAR2(100)
NUMPREVINFOGUID NUMBER(15)
NUMNEXTINFOGUID NUMBER(15)
NUMORDER NOT NULL NUMBER(15)
DATPUBLISHDATE NOT NULL DATE
INTPUBLISHSTATE NOT NULL NUMBER(38)
VC2PUBLISHERID VARCHAR2(30)
VC2INDEXWORDS VARCHAR2(200)
VC2WAPPREVPATH VARCHAR2(200)
VC2WEBPREVPATH VARCHAR2(200)
VC2WAP2PREVPATH VARCHAR2(200)
NUMVISITED NOT NULL NUMBER(15)
INTENABLEDFLAG NOT NULL NUMBER(38)
DATCREATETIME NOT NULL DATE
DATMODIFYTIME NOT NULL DATE
VC2NOTES VARCHAR2(1000)
INTINFOTYPE 上一页 [1] [2] [3] 下一页
|