SQL 的查询语句效率问题

minkoming 2004-02-23 09:15:17
看ORACLE文档,说在执行相同多次的SQL语句中
WHERE= :变量 比WHERE= 常量 执行效率较高。

如一个系统中多次调用一个SQL语句查询
1)WHERE= :变量
Select id from table_name where id=:var1
执行了3次,分别传递给变量 :var1 的值为A,B,C
ORACLE 对于这个SQL语句的执行计划就分析1次。

2)WHERE= 常量
select id from table_name where id=A;
select id from table_name where id=B;
select id from table_name where id=C;
ORACLE 对于这个SQL语句的执行计划分析3次

故第一个效率比第二个执行效率高(是否正确 ?)

问题
1) ORACLE 分析一个SQL的执行计划到底需要多少资源?如何来计算?
2) 如何可以具体测试比较出这两个SQL语句的执行效率差距?
3) 第二种SQL语句是否在大批量查询时候会成浪费很多CPU, MEMORY ?
...全文
62 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧