测试过程中发现一个奇怪的现象,sql在第一次执行时1秒内能出结果。
第二次以后,每次都在40秒左右能出结果。用10046分析后,发现执行计划基本一致,但消耗的成本却不一样。
baidu,google后发现与一个神奇的参数有关,在sql中加入如下的hint 后/*+OPT_PARAM('_optimizer_use_feedback','false') */
执行计划稳定,基本在1秒内能出结果。
http://kerryosborne.oracle-guy.com/2011/07/cardinality-feedback/
https://forums.oracle.com/forums/thread.jspa?messageID=10824724
但目前还没找到这个_optimizer_use_feedback参数的详细说明,谁知道指点一下。