oracle dba 新手,
我想问一下共享池是如何工作的,特别是关于库缓存和结果缓存
例如会话问题
select empname from employee where emp_id=10
我发出类似的查询
select empname from employee where emp_id=20
我的服务器进程是否使用其他会话发出的已解析 sql 语句?
oracle dba 新手,
我想问一下共享池是如何工作的,特别是关于库缓存和结果缓存
例如会话问题
select empname from employee where emp_id=10
我发出类似的查询
select empname from employee where emp_id=20
我的服务器进程是否使用其他会话发出的已解析 sql 语句?
不,您应该使用绑定变量而不是文字数字,这将允许共享同一个游标。在包含用户输入时,使用绑定变量对于防止 SQL 注入也很重要。
- 如果你配置了游标共享 FORCE,那么这两个语句将自动编写为使用绑定,但是当你有能力自己使用绑定时,不建议这样做。当您让 Oracle 只用绑定变量替换每个文字时,会影响性能。