【发布时间】:2014-10-02 20:03:24
【问题描述】:
sqlParameters 与 string.Format 哪个更利于提高速度?
不假设安全
cmd.CommandText = "INSERT INTO tbl_test VALUES(@a, @b);";
SqlParameter SqlParameter[] sqlParameters = new SqlParameter[2];
sqlParameters[0] = new SqlParameter("@a", SqlDbType.VarChar);
sqlParameters[0].Value = varA;
sqlParameters[1] = new SqlParameter("@b", SqlDbType.VarChar);
sqlParameters[1].Value = varB;
对
string query = string.Format("INSERT INTO tbl_test VALUES({0},{1});", varA, varB);
cmd.CommandText = query;
【问题讨论】:
-
使用参数是一种安全的做事方式。使用该字符串,您有 SQL 注入的风险。这不能回答你的问题,但我总是会选择第一个选项,因为秒是不受欢迎的。
-
在几乎所有情况下使用参数都更快:有一个相同的 SQL 用于 RDMS 优化,每个值组合的查询略有不同
-
有人比其他人快多少?我认为不会有任何显着差异。
-
没有人提到racing horses?
标签: c# .net performance ado.net