【发布时间】:2012-04-06 17:37:37
【问题描述】:
我有一个类似的查询
SELECT *
FROM myTable
WHERE key LIKE 'XYZ'
“XYZ”值由用户输入(可能包括 % 和 _)
如果我使用字符串连接构造查询,它将在 10 秒内运行。 但这是不安全的,我应该使用参数化查询。
所以我正在使用 odbc 命令对象及其执行方法构造查询,并传递一个参数。
SELECT *
FROM myTable
WHERE key LIKE ?
不幸的是,参数化的 SQL 执行方法需要整整一分钟。
这个查询是钻取/调查包的一部分,我在所有参数化查询(与字符串连接相比)都有类似的减速。
我如何找出时间的去向(并修复它)?
【问题讨论】:
-
搜索参数嗅探......
-
桌子有多大?柱子的类型是什么?列上有索引吗? LIKE 的一个问题是它可能需要进行表扫描。
标签: sql odbc sybase database-performance parameterized-query