String.Replace()sql查询性能中的特殊字符

时间:2013-12-02 10:21:03

标签: c# sql string performance postgresql

我在postgresql 8.4中工作。我需要每次插入2kb的大量文本。为了构建查询,我必须用'替换''之类的特殊字符。现在我正在做

string.Format("INSERT INTO my_table (text_col) VALUES ('{0}')", mytext.Replace("'","''"))

根据visual studio性能抽样,替换操作比整个查询的cmd.Execute()多花费4倍的时间。有没有办法调用string.Replace()或任何其他方式来提高性能?

1 个答案:

答案 0 :(得分:1)

替换大型(小字符串表现稍差)的最快方法是Fast Token Replacement

您需要尝试一下,看看它如何针对您的特定用例执行,除此之外,我建议您使用参数化查询。您的查询可能容易受到SQL注入攻击,假设您没有进行卫生设施而且是用户输入的数据,则易受攻击