Het maken van een index na het invoegen van gegevens is een efficiëntere manier (het wordt zelfs vaak aanbevolen om de index te verwijderen vóór batchimport en na de import opnieuw te maken).
Syntetisch voorbeeld (PostgreSQL 9.1, trage ontwikkelingsmachine, één miljoen rijen):
CREATE TABLE test1(id serial, x integer);
INSERT INTO test1(id, x) SELECT x.id, x.id*100 FROM generate_series(1,1000000) AS x(id);
-- Time: 7816.561 ms
CREATE INDEX test1_x ON test1 (x);
-- Time: 4183.614 ms
Invoegen en vervolgens index maken - ongeveer 12 sec
CREATE TABLE test2(id serial, x integer);
CREATE INDEX test2_x ON test2 (x);
-- Time: 2.315 ms
INSERT INTO test2(id, x) SELECT x.id, x.id*100 FROM generate_series(1,1000000) AS x(id);
-- Time: 25399.460 ms
Index maken en vervolgens invoegen - ongeveer 25,5 sec (meer dan twee keer langzamer)