Saya mengalami masalah kinerja memperbarui tabel dalam Oracle Spatial 11G sementara mengkonversi 63.000.000 poin ke format WKT. Saya juga membuat perbandingan dengan Postgres. Baik Postgres dan Oracle dijalankan di dua mesin virtual yang di-host oleh server yang sama.
Postgres: prosesor 12, ram 64GB
create table alldata(geom geometry(Point, 4326));
alter table alldata add column wkt4326 varchar(100);
update alldata set wkt4326 = St_AsText(geom) -- 25 minutes
Oracle 11G: prosesor 12, ram 40GB, pga + sga = maksimum 8GB
create table alldata(geom sdo_geometry); -- e.g.: SDO_GEOMETRY(2001, 4326, SDO_POINT_TYPE(aLon, aLat, null), null, null)
alter table alldata add (wkt4326 varchar(100));
-- **Did not complete in a hour...**
update alldatafiltered set wkt4326 = SDO_UTIL.TO_WKTGEOMETRY(geom);
Mengapa Postgres mengungguli Oracle saat memperbarui tabel? Penyebab apa yang dapat mempengaruhi kinerja spasial Oracle?
Saat ini saya tidak memanfaatkan indeks spasial apa pun.
UPDATE
adalah operasi yang sangat mahal untuk pemindaian tabel penuh; Anda harus menggunakanCREATE TABLE ... AS
konstruk.