windows重啟oracle服務 如何查看oracle開銷,或是sql的執(zhí)行效率?
如何查看oracle開銷,或是sql的執(zhí)行效率?explain plan for sql語句 然后查詢計劃可以查看如下表 SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY
如何查看oracle開銷,或是sql的執(zhí)行效率?
explain plan for sql語句 然后查詢計劃可以查看如下表 SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY)
ORACLE如何查看執(zhí)行時間較長較慢的語句?
運行慢的sql:
select * from (select sa.SQL_TEXT, sa.SQL_FULLTEXT, sa.EXECUTIONS "執(zhí)行次數(shù)", round(sa.ELAPSED_TIME / 1000000, 2) "總執(zhí)行時間", round(sa.ELAPSED_TIME / 1000000 / sa.EXECUTIONS, 2) "平均執(zhí)行時間", sa.COMMAND_TYPE, sa.PARSING_USER_ID "用戶ID", u.username "用戶名", sa.HASH_VALUE from v$sqlarea sa left join all_users u on sa.PARSING_USER_ID = u.user_id where sa.EXECUTIONS > 0 order by (sa.ELAPSED_TIME / sa.EXECUTIONS) desc) where rownum <= 50
oracle數(shù)據(jù)庫執(zhí)行sql很慢怎么回事?
解決辦法:你需要對你的表根據(jù)查詢條件設計相應的索引,有時候根據(jù)需要可能一個表你需要建立好幾個索引都是有可能的。然后再執(zhí)行,你會發(fā)現(xiàn)原來要30幾秒的現(xiàn)在零點幾秒就可以搞定了,這跟使用游標沒什么關系。游標的使用完全由你的應用需要決定,我相信能不用的你肯定不會選擇使用游標處理,一般是實在沒辦法的情況下才選擇游標去做。 你查詢慢的原因是你在存儲過程中執(zhí)行的話,沒有索引時,他會一條一條查知道把80幾萬條數(shù)據(jù)全部掃描一遍直到查完了你才看到一個結果,但是你在外面單獨執(zhí)行很快的原因是plsql他會首先去查查到幾條數(shù)據(jù)就先給你返回來,所以你馬上就看到結果了,但實際上查詢也并沒有結束,你要是數(shù)據(jù)很多的情況下你往下拉,你會發(fā)信很慢,其實查詢過程根本就還沒有結束。 總之寫存儲過程第一步是會寫,第二步是要做好優(yōu)化,否則當你的數(shù)據(jù)量很大的時候你的過程寫的不好的話問題會馬上暴露出來
oracle數(shù)據(jù)庫執(zhí)行sql很慢怎么回事?
一條sql突然執(zhí)行變慢,耗時9秒,應用是不能改的,只能從數(shù)據(jù)庫方面下手解決步驟思路:1:查看sql是否走索引2:查看索引是否失效3:hint 強制走索引(只是用來查看hint狀態(tài)下,查詢是否更改,應用是不能改的)4:收集該表所有信息(包括索引)5:分析該表所有信息(包括索引)6:再次執(zhí)行并查看注意:哪個用戶執(zhí)行較慢,就用哪個用戶進行操作,這樣才準確