Oracle的SQL*Net more data from client 等待事件分析

Oracle的SQL*Net more data from client 等待事件分析

SQL*Net more data from client 并非一个常见的等待事件,但在有些场景下却是经常能看到的,这些场景包括:
  1. 批量插入、更新、删除(array of insert、update、delete)
  2. 单条插入(insert),但是列很多,大部分列的数据又很大,比如都是几乎填满4000字节的字符串字段(char、varchar2等)。这种情况下需要insert是使用绑定变量的
  3. 查询(select)条件里,in里面有太多值


总之就是,一条或一批语句的执行,需要的数据一次SDU传不完,就会产生该等待事件。
那,SDU是什么呢?SDU就是 Session Data Unit 。

SDU大小可以介于512-65535间。对于客户端和专用服务的默认SDU大小是8192字节。对于共享服务,SDU默认大小是65535字节。