sqlParameters vs 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;
最佳答案
在几乎所有情况下,使用参数都更快:RDMS有一个相同的SQL可以优化:
INSERT INTO tbl_test
VALUES(@a, @b)
因此服务器可以一次解析和优化查询,然后直接运行它。相反,如果您不使用参数,则RDMS必须解析和优化许多稍微不同的查询,例如:
INSERT INTO tbl_test
VALUES(1, 2)
...
INSERT INTO tbl_test
VALUES(3, 4)
...
INSERT INTO tbl_test
VALUES(100, 101)
并且持续的解析/优化非常耗时。
关于c# - sqlParameters vs string.Format哪个更适合提高速度?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26159764/