- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个静态方法可以打开到 SQL Server 的连接、写入日志消息并关闭连接。我在整个代码中多次调用此方法(平均每 2 秒一次)。
问题是 - 它有效率吗?我想也许积累一些日志并用一个连接插入它们会更好?
但是我必须将它们保存在某个地方(xml?),这也需要花费。
那么.. 执行此操作的有效方法是什么?写入 xml\file\whatever,然后在一个连接中批量更新或为任何小更新打开连接?
public static bool writeLog(string TaskName="MainApp", string LogMessage=null)
{
string logCmd = ...
OleDbConnection conn = ...
OleDbCommand sqlCmd = new OleDbCommand(logCmd,conn);
try
{
conn.Open();
sqlCmd.ExecuteNonQuery();
}
catch (System.Exception ex)
{
Console.WriteLine(ex.ToString());
Console.ReadLine();
}
finally
{
if (conn.State == ConnectionState.Open)
{
conn.Close();
}
}
return isSuccses;
}
最佳答案
很难说出您对效率的期望是什么,但这里有一个一般性的评论。
每2秒插入一条记录,即使你每次都打开一个连接,SQL Server肯定可以毫无问题地处理。您一次插入一条记录,甚至不会出现明显的锁定问题等。
如果您要更改架构,维护数据完整性会变得更加复杂和困难(您必须将值存储在某种缓存中并确保该缓存不会丢失,等等)。在这种情况下,这似乎没有必要。
顺便说一句,您可能希望切换到 native SQL Server 提供程序并使用 SQLConnection
来提高性能。
关于c# - 很多insertQuerys - 效率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19778565/
我在这里尝试通过 insertQuery 连接变量(int 和 char), 但我收到错误,我的错误是错误:'const char*' 类型的无效操作数和 'const char [2]' 到二进制
嗨,我有一个 MYSQL 表,例如 PART{ part_id :long,Auto Increment parent_part_id :long root_part_id :long } 我需
我是编程新手,希望有人能帮助我。我想将 C# 中收到的数据存储到 MySql:表应该是变量根据我收到的数据。 string myInsertQuery = String.Format("INSERT
我是一名优秀的程序员,十分优秀!