永发信息网

oracle如何读取数据

答案:1  悬赏:70  手机版
解决时间 2021-02-24 08:46
oracle如何读取数据
最佳答案
Oracle读取数据的最大限制取决于操作系统和Oracle对多块读IO的限制。在物理上来说,一个SQL语句要读取某个记录,必须将该记录读取到DB CACHE中,然后才能从DB CACHE中获取,这种访问我们一般称为物理读(READ),如果这个数据已经存在于DB CACHE中,那么前台进程可以直接从DB CACHE中读取数据,这样的读取成为逻辑读(GET),如果要读取的数据已经被修改,需要从UNDO中读取前映像来获取一致性的数据,那么会从UNDO中取出前映像,和当前的数据块一起形成一个一致性读块(CR BLOCK),然后再从CR BLOCK中读取数据,这种访问方式称为一致性读(CR GET)。
从逻辑上讲,
Oracle读取数据通过三种途径:全表扫描(
Full Table Sacn,FTS
)、引扫描、通过ROWID直接访问。在阅读SQL执行计划的时候,可以通过
TABLE ACCESS子句来查看Oracle访问某个表的方法,一般来说,对于大型的表来说,如果出现
TABLE ACCESS FULL
的提示,是需要加以重视的,一般情况下,对于大表的全表扫描应该是尽量避免的。下面是一个简单的执行计划:Query Plan-----------------------------------------
SELECT STATEMENT
[CHOOSE] Cost=1234
TABLE ACCESS FULL LARGE [:Q65001] [ANALYZED]查看SQL的执行计划的时候,最右边的,最上面的操作是首先被执行的,上面的例子只有一个操作,就是对表“LARGE”进行全表扫描。当这个步骤执行完毕后,就会将结果集返回给上面一层的语句,上面的例子就是
SELECT STATEMENT
这个语句,一般来说
SELECT STATEMENT
是整个执行计划的顶层。
[CHOOSE]表明这个SQL语句的OPTIMIZER_GOAL
,在这个提示的右侧是COST数据,如果COST是有实际值的,那么说明使用了CBO优化器,如果COST没有实际值,那么说明使用了RBO优化器。比如:
SELECT STATEMENT
[CHOOSE] Cost=COST只是一个相对的值,只是优化器用来分析访问路径的优劣的,相同的SQL,
COST越小的执行计划,起执行效果越好,开销越小。而不同的SQL
,其COST值是没有可比性的。
[:Q65001]指明这部分操作被采用并行查询的方式执行,
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
吼叫用英语怎么说
我们村里按人口分配土地时,我还是单身,现在
世界上有白开叶荷这种花吗
不要忘记我爱你这首歌的歌词大意是什么
超过48小时没有收到法院裁定书交警是否无条件
小明去郊游,上午9时出发先走平路登山,中午12
已知对于任意实数x,函数f(x)满足f(-x)=f
华钦药业鸿拓药店在什么地方啊,我要过去处理
坚果手机内存25 g是什么意思
从郑州火车站去少林寺怎么走,要多长时间
孩子正出于幼小衔接阶段,我们准备提前给他上
销售管理的发展趋势
彝家牛汤锅地址在哪,我要去那里办事
内衣批发市场在哪里?
一多层仓库为柱网6m×6m的钢筋混凝土无梁楼盖
推荐资讯
有没有一本小说女主叫纪红妆,男主叫沈昔邪的
顺达电梯曳引机厂(西南门)怎么去啊,有知道地
庄河市产品质量监督检验所地址在哪,我要去那
添洋集团股份有限公司地址在哪,我要去那里办
魔兽飞行坐骑在哪买
选任的特点有(  )。A.较民主B.在大的范围
nu224EM型号轴承中的EM代表什么
电脑可以开机但屏黑屏幕鼠标键盘都没反应是什
中安信成贷款靠谱吗?利率高吗?
袁家五金店在什么地方啊,我要过去处理事情
久缘婚典这个地址在什么地方,我要处理点事
和男朋友一起住要不要给房租
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?