首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

update语句执行计划有有关问题

2012-04-13 
update语句执行计划有问题数据库版本是9.2,遇到一个很怪异的问题:有一条update语句,发现把这条语句单独拿

update语句执行计划有问题
数据库版本是9.2,遇到一个很怪异的问题:有一条update语句,发现把这条语句单独拿出来分析的话,执行计划是正确的,用的索引是对的,但是执行的时候很慢,用企业管理系下查看正在执行的状态,执行计划是不同的,请问各位高手有遇到过这种情况吗?如何解决?

[解决办法]
做一下表分析吧,数据库会重新解析SQL:
execute DBMS_STATS.gather_table_stats(ownname=>'<owner>',tabname=>'<tableName>',degree=>10,estimate_percent=>10,cascade=>true,no_invalidate => false);

只要是对表的DDL操作都会引起该表相关的SQL重新解析。如ALTER TABLE...,GRANT SELECT ON tableName TO ...

也可以把SHARED POOL清空(慎重):
ALTER SYSTEM FLUSH SHARED_POOL;

热点排行