《如何查找Oracle中存在全表扫描的SQL语句.docx》由会员分享,可在线阅读,更多相关《如何查找Oracle中存在全表扫描的SQL语句.docx(2页珍藏版)》请在三一办公上搜索。
如何查找Oracle中存在全表扫描的SQL语句如何查找Oracle中存在全表扫描的SQL语句对于SQL的执行计划,一般尽量避免TABLE ACCESS FULL的出现,那怎样去定位,系统里面哪些SQL脚本存在TABLE ACCESS FULL行为,对于9i及以后版本,使用以下语句即可select *from v$sql_plan vwhere v.operation = TABLE ACCESSand v.OPTIONS = FULLand v.OBJECT_OWNER=MS;-指定用户下查询得到SQL_ID,以及ADDRESS,HASH_VALUE,PLAN_HASH_VALUE,OBJECT_NAME后,就可以定位到具体的SQL语句了。如:select s.SQL_TEXTfrom v$sqlarea swhere s.SQL_ID = 4dpd97jh2gzsdand s.HASH_VALUE = 1613233933and s.PLAN_HASH_VALUE = 3592287464;或者select s.SQL_TEXT from v$sqlarea s where s.ADDRESS = 00000000A65D2318;