oracle查詢sql語(yǔ)句 ORACLE快速查詢數(shù)據(jù)SQL語(yǔ)句?
ORACLE快速查詢數(shù)據(jù)SQL語(yǔ)句?單條自動(dòng)分配,沒有索引也不馬上準(zhǔn)備建索引。沒法靠并發(fā)來快速檢索到速度,最快的語(yǔ)句估計(jì)是:select/*wide(A)parallel(A,10)*/*around
ORACLE快速查詢數(shù)據(jù)SQL語(yǔ)句?
單條自動(dòng)分配,沒有索引也不馬上準(zhǔn)備建索引。
沒法靠并發(fā)來快速檢索到速度,最快的語(yǔ)句估計(jì)是:select/*wide(A)parallel(A,10)*/*aroundAwherebc;理由有2:cleartablescan時(shí),oracle會(huì)三次讀得出多個(gè)block加快速度parallel更改并發(fā)10線程檢索到,不過如果愿意,你更改20也可以。最好就是4CPU個(gè)數(shù)。不過肯定我建議你在b列上建索引,這是建議的辦法。
如何查看Oracle中sql語(yǔ)句的執(zhí)行時(shí)間?
通過Oracle先執(zhí)行計(jì)劃可以清晰的看到SQL的執(zhí)行時(shí)間。EXPLAINPLANFORSELECT*FROMtable;SELECT*FROMTABLE(DBMS_XPLAN.DISPLAY);SQLsettimingon--顯示執(zhí)行時(shí)間SQLsetautoraceonC會(huì)顯示負(fù)責(zé)執(zhí)行計(jì)劃SQLsetautoraceonC不顯示負(fù)責(zé)執(zhí)行計(jì)劃SQLsetautotracetraceonlyC只顯示不能執(zhí)行計(jì)劃即不不顯示查詢出來的數(shù)據(jù)設(shè)置之后后想執(zhí)行SQL語(yǔ)句是會(huì)不顯示負(fù)責(zé)執(zhí)行時(shí)間。
ORACLE如何查看執(zhí)行時(shí)間較長(zhǎng)較慢的語(yǔ)句?
不運(yùn)行慢的sql:
select*outside(selectsa.SQL_TEXT,sa.SQL_FULLTEXT,sa.EXECUTIONS執(zhí)行次數(shù),round(sa.ELAPSED_TIME/1000000,2)總想執(zhí)行時(shí)間,round(sa.ELAPSED_TIME / 1000000 / sa.EXECUTIONS,2)平均先執(zhí)行時(shí)間,_TYPE,_USER我的id用戶ID,用戶名,sa.HASH_VALUEfromv$sqlareasaleftjoinmore_usersuat_USER注冊(cè)ididwheresa.EXECUTIONS0order by(sa.ELAPSED_TIME/sa.EXECUTIONS)desc)whererownum50;