direct path read:
传统读取数据的方式是服务器进程通过读取磁盘,然后把数据加载到共享内存中,这样后面的进程就可以通过共享内存访问这些数据,不用再通过缓慢的磁盘读取来完成。direct path read读取数据块
方式,是指服务器进程直接读取数据文件,不经过buffer cache,这种方式读取的数据块会加载到服务器进程的PGA内中当中,不会进入buffer cache中。11G之前的direct path read主要用于并行查询
中,此等待事件的三个参数p1,p2,p3分别代表:file#:文件号,first block#:读取的起始块号,block count:以first block为起点,连续读取的物理块数。而从11G之后,direct path read不仅可
用于并行查询,在符合某些条件后,串行的全表扫描也可以利用direct path read方式来完成。这里主要介绍11G direct path read相关的特性。
diect path write:
1. 从PGA写入数据文件,一个会话可以发布多个写入请求和连续的处理,有server process直接写入
2. 直接写入可以按同步或异步方式执行,取决于平台和DISK_ASYNC_IO参数的值。
3. 通常用于在数据加载(APPEND提示、CTAS-CREATE TABLE AS SELECT)、并行DML操作时写入到临时段。
4. 在使用异步IO时,direct path write事件产生的等待时间不准确,所以通过v$sesstat视图来获得直接写入次数来评估该事件的影响情况:
direct path read和diect path write
最新推荐文章于 2024-09-25 12:23:16 发布
本文介绍了Oracle数据库中的Direct Path Read技术,它允许服务器进程直接读取数据文件,绕过Buffer Cache,提高并行查询效率。11G版本后,Direct Path Read在串行全表扫描中也得到应用。同时,文章还探讨了Direct Path Write的特点,包括从PGA写入数据文件、同步或异步执行以及在数据加载和并行DML操作中的作用。对于异步IO,文章指出应通过v$sesstat视图来评估Direct Path Write的影响。
摘要由CSDN通过智能技术生成