我似乎在我的查询中使用绑定变量会损害性能,一些示例高达 5 倍。以下示例平均需要大约 0.5 秒才能完成。
string strId = "abcd";
using (var db = _conn.OpenDbConnection())
{
var sql = "SELECT count(*) FROM table WHERE idNum= :ID";
var r = db.QueryScalar<int>(sql, new { ID = strID.ToUpper() });
return r >= 1;
}
当我运行以下代码时,大约需要 0.1 秒才能完成。
string strId = "abcd";
using (var db = _conn.OpenDbConnection())
{
var sql = string.Format("SELECT count(*) FROM table WHERE idNum= '{0}'", strID.ToUpper());
var r = db.QueryScalar<int>(sql);
return r >= 1;
}
我是否在这里错误地使用了导致性能问题的东西?
这是在 C# 中针对使用 ServiceStack.OrmLite 版本 3.9.71.0 的 Oracle 数据库