oracle
luwenke
这个作者很懒,什么都没留下…
展开
-
Oracle SQL优化笔记三
4.当你发送一条SQL后,Oracle系统会准对这条SQL生成一个优化器,并根据一些静态的参数来调整优化器,并转化成等价的SQL,生成相关的优化计划,系统会再评估是否有优化,如此反复迭代,并最终生成执行计划。 当你写SQL时,where 条件两边的字段都要有索引,这样效果是最好的。 用索引的字段去排序,效果也会提升 。 5.当你进行调优时,最好要看执行计划的C原创 2012-09-25 09:13:09 · 429 阅读 · 0 评论 -
Oracle SQL优化笔记一
参加了一天的Oracle 10G的SQL优化课程,自己做了一些笔记: 当sqlplus发出一个select查询后,PGA专用内存先会对这个SQL做一些处理,再到SGA的share pool里查询有没有相关的SQL 的hash key。如果有就返回内存里的数据,减少了IO的操作。如果没有,系统会解析这个SQL语法,检查相对应的权限(会扫描字典表),启动一个SQL优化的执行计划(自动判断用索原创 2012-09-24 14:46:25 · 266 阅读 · 0 评论 -
甲骨文OpenWorld大会:什么内容值得关注?
摘要:甲骨文今年的OpenWorld大会将于美国时间本周日在旧金山召开。我们看看甲骨文OpenWorld的会议安排以及可能发布的出人意料的东西吧。北京时间9月29日消息,甲骨文每一年都变得更加庞大,它一年一度的OpenWorld大会也是如此。今年的OpenWorld大会将于美国时间本周日在旧金山召开。事实上,甲骨文长期的收购涉及到从应用程序到中间件软件到硬件等广泛的领域。这种收转载 2012-10-11 16:32:45 · 662 阅读 · 0 评论 -
Oracle 调优读书笔记二
当某个索引包含有多个已索引的列时,我们称这个索引为组合(concatenated)索引或是复合索引。虽然Oracle 9i 引入的跳跃式扫描索引访问方法增强了优化器在使用组合索引时的选择,但是您应该谨慎地选择索引中的列顺序。一般来说,索引的第一列应该是最有可能在WHERE 子句中使用的列,并且也是索引中最具选择性的列。在引入跳跃式扫描功能之前,查询只能在WHERE 子句中使用索引的原创 2012-10-09 17:23:35 · 270 阅读 · 0 评论 -
Oracle 调优读书笔记一
索引通常能提高查询的性能。SELECT 语句、UPDATE 和DELETE 命令的WHERE 子句的性能(当访问的行较少时)可以从索引中获益。一般来说,增加索引会降低INSERT 语句的性能(因为需要同时对表和索引进行插入)。如果未索引列,则索引列的UPDATE 操作将会减慢执行速度,因为数据库必须管理对表和索引的改动。此外,大量行的DELETE 操作将会由于表中存在索引而减慢执行原创 2012-10-07 17:33:01 · 292 阅读 · 0 评论 -
Oracle SQL 优化笔记五
7.如果在做一些报表时,需要很多表的数据汇总,我们可以用固化视图来实现,可以设定固化视图的刷新模式。 CREATE MATERIALIZED VIEWMV_PersonREFRESH FORCE ON DEMAND ASselect * from User 如果我们想更新固化视图里的数据,我们直接刷新 这个视图 BEGIN DBMS_M原创 2012-09-28 09:23:35 · 246 阅读 · 0 评论 -
ORACLE SQL 优化笔记二
2.当sql 发一起的update 语句时,oracle会对这一行上两把锁,一把是共享锁,一把是行锁。顺序是先上共享锁,再上行锁(其实是一个标志位)。当Commit时,把行锁的标记改为未锁,然后oracle会copy一份数据到undo表空间,提交完成后,undo表空间里的数据不变。多次的commit都在undo表空间里保留一份数据,为闪回做好准备。 3.oracle内部为每条sql语原创 2012-09-24 17:40:45 · 235 阅读 · 0 评论