データのストリーム (1 秒あたり 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();
この方法では、1 秒あたり 15 ~ 20 パケットしかデータベースに保存できません。できるだけ早くデータをデータベースに保存する必要があります。
MSSQL では、テキスト コマンドの大きなパケット (「select * from tbl;insert into tbl;delete from tbl;」など) を送信できましたが、ストアド プロシージャを使用してパフォーマンスを向上させる方法がわかりません。