Atea - Hero's Grave

面向对象,开源,框架,敏捷,云计算,NoSQL,商业智能,编程思想。

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  40 随笔 :: 0 文章 :: 28 评论 :: 0 Trackbacks
如果别人只是读取数据,FOR UPDATE就不会锁定资源不让他们读
sum,count等函数为表锁
null不等于任何值,包括它自己
尽量不要使用LONG型字段,而考虑使用CLOB
与不可重复读的区别在于:在幻像读中,已经读取的数据不会改变,只是与以前相比,会有更多的数据满足你的查询条件
客户端发出的语句(如INSERT INTO)是原子性的
应慎用IMMEDIATE约束。一条语句可能会使表中的各行暂时“不一致”,这是很自然的。
一般认为,用更新级联来修改主键是很不好的做法
应手动给外键加索引,否则会引起子表的表锁。
优化期会对视图的来源表使用查询。所以,对视图加索引不如直接对来源表进行索引优化。

无法通过频繁提交来“节省”undo空间,所以没有必要在循环中提交。
1、事务的粒度(时长)应设计的尽可能小(短)
2、事务不是稀缺资源,所以不要在循环中提交
以上2个说法都正确,并不矛盾:
Re1: 事务过大,会在rollback时消耗大量资源
Re2: 循环提交会频繁IO

性能调优,应首先尝试减少查询的运行时间,其次再考虑设置参数等。
查询中最好手动加上order by
索引组织表(IOT)是存储在索引结构中的表,适合OLAP应用。IOT不存在主键的空间开销,因为索引就是输据。
位图索引适用于高度重复而且通常只读的数据(在OLTP中慎用,涉及到并发性)。在读密集的环境中能很好的工作,但极不适用于写密集环境。
仅当要通过索引访问表中很少的一部分行(很小的一个百分比)时,才使用B*索引。每个唯一约束应该至少有一个确实唯一的NOT NULL列。B*树索引不会对一个完全为NULL的项加索引。

http://atealxt.appspot.com/article/20110317/book_read_note_oracle_database_9i10gand11g_programming_techniques_and_solutions.html
posted on 2011-03-17 22:19 Atea 阅读(435) 评论(0)  编辑  收藏 所属分类: Database

只有注册用户登录后才能发表评论。


网站导航: