Created 11-29-2017 08:35 PM
We need to execute geo-spatial queries where we use geo-spatial functions that operate on columns from two different tables (YELLOW_TAXI_TRIPS, TAXI_ZONES). The UDF works as a comparison to join the two tables, below is the query in which we want to improve performance applying a functional index.
SELECT ZONES.zone, count(1) AS hits FROM YELLOW_TAXI_TRIPS AS TRIPS, TAXI_ZONES AS ZONES WHERE STWithinFromText('POINT('||TRIPS.PICKUP_LONGITUDE||' '||TRIPS.PICKUP_LATITUDE||')', ZONES.geom) GROUP BY ZONES.zone;
Created 11-29-2017 08:47 PM
No, it's not possible. Index may have only one parent table. You need to keep in mind that indexes are updated when you update the parent table. Let's imagine that you have more than one parent table. Any update only one of them would mean that you have to make a lookup for all corresponding records in other parents to update index data. That would be too expensive for simple operation as upsert is.
Created 11-29-2017 08:47 PM
No, it's not possible. Index may have only one parent table. You need to keep in mind that indexes are updated when you update the parent table. Let's imagine that you have more than one parent table. Any update only one of them would mean that you have to make a lookup for all corresponding records in other parents to update index data. That would be too expensive for simple operation as upsert is.
Created 11-30-2017 03:15 PM
Thanks for your reply!
The question was created twice without knowing it. Sorry!