我正在尝试收集数据流(每秒 100-150 个数据包),然后使用存储过程将处理后的数据包发送到 MySQL 数据库:
comm = new MySqlCommand("cantm_insert", conn);
comm.CommandType = CommandType.StoredProcedure;
comm.Parameters.AddWithValue("?_tmsid", tmsid);
comm.Parameters.AddWithValue("?_time", DateTime.Now.ToOADate());
comm.Parameters.AddWithValue("?_dest", c.Identifier >> 3);
comm.Parameters.AddWithValue("?_source", c[0]);
comm.Parameters.AddWithValue("?_length", c.DataLength);
comm.Parameters.AddWithValue("?_type", c[1]);
comm.Parameters.AddWithValue("?_data", buffer);
comm.executeNonQuery();
这种方法每秒只给我 15-20 个数据包存储在数据库中。我需要尽快将数据存储到数据库中。
在 MSSQL 中,我可以发送大量文本命令(例如“从 tbl 中选择 *;插入 tbl;从 tbl 中删除;”),但我不知道如何使用存储过程来提高性能。