Membuat indeks setelah memasukkan data adalah cara yang lebih efisien (bahkan sering disarankan untuk menghapus indeks sebelum impor batch dan setelah impor membuatnya kembali).
Contoh sintetik (PostgreSQL 9.1, mesin pengembangan lambat, satu juta baris):
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
Sisipkan lalu buat indeks - sekitar 12 detik
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
Buat indeks lalu masukkan - sekitar 25,5 detik (lebih dari dua kali lebih lambat)