[gdal-dev] Understanding parquet vs adbc performance and SORT_BY_BBOX=YES

Michael Smith michael.smith.erdc at gmail.com
Sun Jul 20 04:27:28 PDT 2025


Using GDAL 3.11.3:

 

I have a dataset Geometry: Point Feature Count: 15546949 in parquet format (written using gdal from oracle source). When doing a spatial query using the geoparquet driver, I see it accessing almost all the row groups of the dataset (PARQUET: 155/156 row groups selected) with a spatial filter fetching 12000 of the 15M points and it takes 0m18.794s. When accessing via ADBC and libduckdb, it takes 0m7.102s (but it also uses 7x CPU and about 10x memory (from looking at top). 

 

I then rewrote the dataset using -lco SORT_BY_BBOX=YES. Then parquet driver accesses PARQUET: 9/238 row groups selected, and the time drops to 0m1.412s. Using ADBC and libduckdb, the performance doesn’t change. 

 

For proper performance with gdal, is SORT_BY_BBOX=YES always needed?

 

 

-- 

Michael Smith

RSGIS Center – ERDC CRREL NH

US Army Corps

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20250720/1df38e52/attachment.htm>


More information about the gdal-dev mailing list