私はウェブサイト用の分析ツールを構築しており、INSERT のシーケンスを単純化するために次のようにしています。
INSERT INTO visits (id, page, url) VALUES (null, 'http://...', '...');
INSERT INTO params (visit_id, name, val) VALUES (123, 'page', 'product');
INSERT INTO params (visit_id, name, val) VALUES (123, 'product_id', '7');
つまり、中央のテーブルと、メインの INSERT の ID を使用してそれにリンクする他のテーブルがあります。これらの INSERT を DELAYED INSERT に変換して、分析データの保存を担当するデータベース サーバーが過負荷になり、すべての書き込みを処理できなくなった場合にユーザーが苦しまないようにしたいと考えています。ただし、DELAYED INSERT では LAST_INSERT_ID() を使用できないため、テーブル間の上記の関係を維持する方法がわかりません。
独自の ID を生成して一意のインデックスを割り当て、必要に応じてそれを使用してテーブルを結合する以外に、簡単な方法はありますか。