[postgis-tickets] [PostGIS] #3739: ST_Within Not using index
PostGIS
trac at osgeo.org
Tue Apr 18 06:39:29 PDT 2017
#3739: ST_Within Not using index
--------------------------+---------------------------
Reporter: postgispaul | Owner: pramsey
Type: defect | Status: new
Priority: medium | Milestone: PostGIS 2.3.3
Component: postgis | Version: 2.3.x
Resolution: | Keywords:
--------------------------+---------------------------
Comment (by robe):
Looking at difference between && and ~. Looks like for && we are using
our own selectivity functions (gserialized_gist_sel_2d and
gserialized_gist_joinsel_2d.
{{{
CREATE OPERATOR &&(
PROCEDURE = geometry_overlaps,
LEFTARG = geometry,
RIGHTARG = geometry,
COMMUTATOR = &&,
RESTRICT = gserialized_gist_sel_2d,
JOIN = gserialized_gist_joinsel_2d);
}}}
but for ~ we are using the PostgreSQL packaged containment selectivity
contsel and contjoinsel functions.
{{{
CREATE OPERATOR ~(
PROCEDURE = geometry_contains,
LEFTARG = geometry,
RIGHTARG = geometry,
COMMUTATOR = @,
RESTRICT = contsel,
JOIN = contjoinsel);
}}}
I'm not sure if that is the culprit thought that would make it more
sensitive to changes upstream. I still need to test on my 9.3 to see if
it exhibits the same issue.
I thought there was a time ago when && used use the built-in ones as well.
strk, pramsey is there a reason why we decided to reimplement the ones
used for && and not for containment?
--
Ticket URL: <https://trac.osgeo.org/postgis/ticket/3739#comment:8>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.
More information about the postgis-tickets
mailing list