一个Webservice执行Oracle SQL带参数奇怪的问题

anmoi_yang 2015-07-01 10:58:35
在webservice中遇到一个很奇怪的问题,
(1)SQL直接赋值的方式,SQL执行很快,
sSQL = "SELECT COL1, COL2 FROM TABEL WHERE COL3 = '" + sData + "'";
DataSet dsTemp = new DataSet();
dsTemp = Common.ExecuteSQL(sSQL);

(2)SQL用参数的方式, 哪怕是最简单的SQL执行都需要5秒以上,这样就是很奇怪了,SQL语句执行,一般都建议使用参数形式,现在使用参数反而执行速度变慢了,是什么原因?
sSQL = "SELECT COL1, COL2 FROM TABEL WHERE COL3 = :DATA";
object[][] Params = new object[1][];
Params[0] = new object[] { "INPUT", "1", "DATA", sData };
dsTemp = Common.ExecuteSQL(sSQL, Params);
...全文
233 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
你可以在Oracle明确定义参数,并且参数类型与数据库库设置一致时,看下执行速度怎么样
  • 打赏
  • 举报
回复
http://blog.csdn.net/starfd/article/details/42004605 虽然这里讲的是MSSQL,但你这个应该是一样的类型向上转变导致的问题

12,162

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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