各クエリに約1000個のアイテムを挿入し、作成後にPKを取得して、後で他のテーブルのFKとして使用したいテーブルがあります。
postgresql で戻り構文を使用してそれらを挿入しようとしました。ただし、挿入には約10秒かかります
INSERT INTO table_name (col1, col2, col3) VALUES (a1,a2,a3)....(a(n-2),a(n-1),a(n)) returning id;
削除するRETURNING
ことで、パフォーマンスが大幅に向上し、最大 50 ミリ秒になります。
最初の ID を取得すると同時に行を挿入するアトミック操作を取得できれば、RETURNING
. しかし、それが可能かどうかはわかりません。