随笔分类 -  Oracle

oralce SQL绑定变量--话说bing peeking
摘要:sql 绑定变量可以减少硬解析的次数,极在提高oracle内存的使用率,这一点大家应该是很清楚了。但是是否绑定变量并一定是永远安全可靠的,它对CBO产生高效正确的执行计划有时是会有影响的。假如一个表的数据有非常在的倾斜,比如一个只有一个ID字段的表T,T表上有10W条记录,其中ID=1的记录只有1... 阅读全文
posted @ 2012-05-08 11:08 kundij 阅读(443) 评论(0) 推荐(0)
Cardinality 对执行计划的重要性
摘要:执行计划分析中的Cardinality代表oracel优化器要创建执行计划时,认为某个表有多少条记录,当一个表曾经达到大量数据时并有做了表分析之后,然后后来delete掉了大量数据,却忘记了再做一个表分析时,Cardinality还是一样很大,那么这个时候oracle优化器做出了执行计划将会不准,... 阅读全文
posted @ 2012-05-04 18:22 kundij 阅读(2837) 评论(0) 推荐(0)
话说两种oracle锁类型 TX与TM
摘要:在oracle 里面,并不存在真正意义上的属于某个对象或者数据的锁,不会对某个表加锁或某几行加锁,oracle中的锁是以数据块的属性存在的,是物理的,并不是逻辑上的属于某个表或某一行的,也就是说,每个数据块本身就存储着自己数据块中的数据信息,这个地方叫ITL(Interested Transact... 阅读全文
posted @ 2012-04-27 15:56 kundij 阅读(1537) 评论(0) 推荐(0)
论oracle随机查询一条记录
摘要:这几天工作上的需要,要从一个比较大的表中随机取出一条记录,oracle 不像MS SQLSERVER那样,直接用Select TOP1 * From TABLE Order By NewID(),就能高效的随机查出一条记录。经过一翻折腾,用一个有90万条记录的表t_id,只有一个gameid字段,... 阅读全文
posted @ 2012-04-12 16:26 kundij 阅读(6206) 评论(0) 推荐(0)
oracle删除大表的数据的方法
摘要:今天在公司中碰到访问表数据(test 表)速度非常慢,简单的一个select 语句花了10多分钟, 后来查询一下表的数据量,一共有278万多条数据,而且这个数据表的数据大都过期了,对于现在的业务没什么用。可悲的是这个表竟然也没做分区,也许是前人设计时欠缺了考虑。因为这个表的访问非常频繁,适成的整个系... 阅读全文
posted @ 2010-08-18 09:14 kundij 阅读(4193) 评论(0) 推荐(0)