验证TimesTen统计收集后SQL重新编译

统计信息收集无论是在Oracle还是在TimesTen中,都是属于例行的工作,为SQL执行能够采用最新的统计信息,采用最优的执行计划,生产系统我们一般都会采用定时统计收集的作业,Oracle比较强大,一般不会出现统计收集获取不到锁而引发问题,顶多就是使用不到最新的执行计划,但是对于TimesTen来说就没那么强大了,很容易由于获取不到锁而引发故障。
术语解释:
SQL command: 每个SQL在编译后,都会被重复使用,如果在一个transaction中执行了这个SQL,那么就会在这个SQL编译好的command上面加一个S(共享锁)。
Invalidate: 统计信息收集之后,所有的SQL都会被标记为invalid,下一次这个SQL被执行的时候就会被重新编译,来使用最新的统计信息。
 为了重新编译,必须加一个X(排他)锁,获取不到X锁,将会不断的尝试,阻塞后面的业务。
===》测试:
Command> set autocommit off;
The command succeeded.
Command> Prepare select * from t;
Assigning new prepared command id = 0.
The command succeeded.
Command>
Command> Execute;
Executing prepared command id = 0.
The command succeeded.
===》打开一个新的窗口,查看锁信息。
[timesten@
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值