More Related Content
Similar to バッチ高速化のあゆみ (20)
バッチ高速化のあゆみ
- 37. ②クエリ(insert文)チューニング
レコードの登録時に発行するSQLは
1レコード目:INSERT INTO ◯◯ VALUES (AA,AA,AA)
2レコード目:INSERT INTO ◯◯ VALUES (BB,BB,BB)
3レコード目:INSERT INTO ◯◯ VALUES (CC,CC,CC)
・
・
といった形でRDSにSQLクエリを発行している。
この個々のクエリ発行にはRDSのの通信が発生するため、この通信オーバーヘッドがレコード数分
発生することになる。
例えばこのオーバーヘッド時間が10msだとすると、1000件更新では10000ms(100秒)にまで膨れ上がる
このクエリを
INSET INTO ◯◯ VALUES (AA,AA,AA),(BB,BB,BB),・・・・・
と、1INSERT文で複数レコードを登録してしまうとこのオーバーヘッド時間(回数)の削減に繋がる
- 38. ②クエリ(insert文)チューニング
あまりに複数登録しすぎると発行SQLを文が大きくなりすぎてデバッグが困難になる
INSET INTO ◯◯ VALUES
(AA,AA,AA),(BB,BB,BB),(CC,CC,CC),(DD,DD,DD),(EE,EE
,EE),(FF,FF,FF),(GG,GG,GG),(HH,HH,HH),(II,II,II),(JJ,JJ,J
J),(KK,KK,KK)(LL,LL,LL)・・・・・
(LL,LL,LL)・・・・・・・・・・・・・・・・・・・・・
リスク
Editor's Notes
- インデックスが効いている検索
- 効いていない