Web サイトからユーザーに一括招待状を送信しています。そのために、メールを含むコンマ区切りの文字列を mysql のストアド プロシージャに渡しています。このストアド プロシージャでは、1 つの while ループが各電子メールを解析し (コンマで区切られた substring() を使用)、既存のデータベースをチェックし、存在しない場合はテーブルに挿入するか、その電子メールが既に存在する場合は GUID を使用して電子メール リンクを生成します。小さなバッチ (例: 200 ~ 250 通未満の電子メール) ではプロセスは正常に機能していますが、バッチが大きい場合 (250 以上の電子メール)、プロセス全体が停止し、次の要求でデッドロック エラーが発生します (元のエラーは次のとおりです:「しようとしているときにデッドロックが見つかりました」ロックを取得します。トランザクションを再起動してください」)。そのため、JavaScript または C# ファイル (プログラミング言語ファイル) で while ループを実行し、各メールをストア プロシージャに送信することを計画しました。
では、mysql でこの種のジョブを実行するための最良の方法は何ですか?