0

我似乎在我的查询中使用绑定变量会损害性能,一些示例高达 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 数据库

4

0 回答 0