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;
vs
string query = string.Format("INSERT INTO tbl_test VALUES({0},{1});", varA, varB);
cmd.CommandText = query;
使用参数是faster几乎在所有情况下:有一且相同用于 RDMS 优化的 SQL:
INSERT INTO tbl_test
VALUES(@a, @b)
这样服务器就可以解析和优化查询once然后就run它。相反,如果不使用参数,RDMS 就必须解析和优化许多略有不同的查询,例如:
INSERT INTO tbl_test
VALUES(1, 2)
...
INSERT INTO tbl_test
VALUES(3, 4)
...
INSERT INTO tbl_test
VALUES(100, 101)
然后不断解析/优化很费时间。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)