J'ai un problème de performances lors de la mise à jour d'une table dans Oracle Spatial 11G lors de la conversion de 63 000 000 points au format WKT. J'ai également fait une comparaison avec Postgres. Postgres et Oracle s'exécutent sur deux machines virtuelles hébergées sur le même serveur.
Postgres: processeurs 12, ram 64 Go
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: processeurs 12, ram 40 Go, pga + sga = 8 Go maximum
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);
Pourquoi Postgres surpasse-t-il Oracle lors de la mise à jour des tables? Quelles causes peuvent affecter les performances spatiales d'Oracle?
Pour le moment, je ne mets à profit aucun indice spatial.
UPDATE
est une opération très coûteuse pour une analyse complète de la table; vous devez utiliser uneCREATE TABLE ... AS
construction.