Tạo chỉ mục sau khi chèn dữ liệu là cách hiệu quả hơn (thậm chí thường được khuyến nghị giảm chỉ mục trước khi nhập hàng loạt và sau khi nhập, tạo lại nó).
Ví dụ tổng hợp (PostgreSQL 9.1, máy phát triển chậm, một triệu hàng):
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);
CREATE INDEX test1_x ON test1 (x);
Chèn và sau đó tạo chỉ mục - khoảng 12 giây
CREATE TABLE test2(id serial, x integer);
CREATE INDEX test2_x ON test2 (x);
INSERT INTO test2(id, x) SELECT x.id, x.id*100 FROM generate_series(1,1000000) AS x(id);
Tạo chỉ mục và sau đó chèn - khoảng 25,5 giây (chậm hơn hai lần)