current、、、などの 3 つの関連する MySQL テーブルに挿入する必要がある、たとえば 100 個のアイテムのバッチを受け取りrecentますhistorical。速度を上げるために、単一の挿入ステートメントでグループとして各テーブルに各バッチを挿入したいと考えています。テーブルには、挿入された行ごとに取得する必要currentがある自動インクリメントの主キーがあり、主キーとして使用してとテーブルidに同じ行を挿入します。私の考えは、 の現在の auto_increment 値を取得し、を使用して 100 ずつインクリメントし、「予約」したばかりのブロックからプログラムで設定された ID を使用して 100 行を挿入することです。次に、およびテーブルへの挿入に同じ 100 個の予約済み id 値を使用できます。recenthistoricalcurrentalter table current AUTO_INCREMENT=currentrecenthistoricalcurrentテーブル。
私の質問: これが悪い考えである理由はありますか? 私はウェブ上でそれについて何も見たことがありません。私がスタックオーバーフローで見た中で最も近いのは、自動インクリメントフィールドへの挿入ですが、それはまったく同じではありません。一度に複数のスレッドからこれを実行しようとすると、スレッドの問題が発生する可能性があります。
また、これを達成する方法に関する他の提案も受け付けています。