Hello List, I have a query to retrieve geometry from a TAB file: mapserv.exe?mode=itemquery&map= query.map&mapext=-70000+280000+500000+700000&layers=MYLAYER&qlayer= MYLAYER &qstring=('[IDCOLUMN]' IN '2550643')
This is my simplified Layer definition: LAYER NAME MYLAYER TYPE LINE CONNECTIONTYPE OGR CONNECTION "c:\temp\MYLAYER.TAB" CLASS NAME "Test" END METADATA qstring_validation_pattern '^' END END To query this TAB file, MapServer needs about 20 seconds. MapInfo needs about 20ms, so MapServer is obviously not using the index on this column. I tried changing this to Oracle Spatial, but then I bump into another problem: the query contains a spatial clause (which isn't needed): SELECT IDCOLUMN FROM MYLAYER WHERE 'IDCOLUMN' IN '2550643' AND SDO_FILTER( GEOLOC, MDSYS.SDO_GEOMETRY(2003, 90112, NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,3),MDSYS.SDO_ORDINATE_ARRAY(-70000,280000,500000,700000) ),'querytype=window') = 'TRUE' This also takes about 10 seconds. Without the AND SDO_FILTER() part it takes a few milliseconds. So two questions, I guess. Can I make MapServer use the index on the IDCOLUMN column, and, can I tell Mapserver to skip the SDO_FILTER part on Oracle? Oh, I'm currently using MapServer 5.6 but tried 6.0 as well. Thank you, Regards, Jelmer Baas _______________________________________________ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users