Advertisement
britiger

ANALYSE RESULT postgis index

Jan 20th, 2015
634
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 4.25 KB | None | 0 0
  1. -- my query #1:
  2. EXPLAIN ANALYSE SELECT * FROM import.osm_addresses AS addr
  3. WHERE st_intersects(addr.geometry, (SELECT geometry FROM import.osm_admin_8 WHERE osm_id=-332537));
  4. --RESULT:
  5. "Seq Scan on osm_addresses addr  (cost=11.69..111161.75 rows=134094 width=656) (actual time=67.110..7203.351 rows=140 loops=1)"
  6. "  Filter: st_intersects(geometry, $0)"
  7. "  Rows Removed by Filter: 402141"
  8. "  InitPlan 1 (returns $0)"
  9. "    ->  Bitmap Heap Scan on osm_admin_8  (cost=4.29..11.69 rows=2 width=32) (actual time=0.031..0.032 rows=1 loops=1)"
  10. "          Recheck Cond: (osm_id = (-332537))"
  11. "          ->  Bitmap Index Scan on osm_admin_8_osm_id_idx  (cost=0.00..4.29 rows=2 width=0) (actual time=0.022..0.022 rows=1 loops=1)"
  12. "                Index Cond: (osm_id = (-332537))"
  13. "Total runtime: 7203.440 ms"
  14.  
  15. -- my query #2:
  16. EXPLAIN ANALYSE SELECT * FROM import.osm_addresses AS addr
  17. WHERE addr.geometry && (SELECT geometry FROM osm_addr2 WHERE osm_id=-332537) AND
  18.   st_intersects(addr.geometry, (SELECT geometry FROM import.osm_admin_8 WHERE osm_id=-332537));
  19. -- RESULT
  20. "Bitmap Heap Scan on osm_addresses addr  (cost=40.77..201.90 rows=13 width=656) (actual time=0.009..0.009 rows=0 loops=1)"
  21. "  Recheck Cond: (geometry && $0)"
  22. "  Filter: st_intersects(geometry, $1)"
  23. "  InitPlan 1 (returns $0)"
  24. "    ->  Seq Scan on osm_addr2  (cost=0.00..24.50 rows=6 width=32) (actual time=0.001..0.001 rows=0 loops=1)"
  25. "          Filter: (osm_id = (-332537))"
  26. "  InitPlan 2 (returns $1)"
  27. "    ->  Bitmap Heap Scan on osm_admin_8  (cost=4.29..11.69 rows=2 width=32) (never executed)"
  28. "          Recheck Cond: (osm_id = (-332537))"
  29. "          ->  Bitmap Index Scan on osm_admin_8_osm_id_idx  (cost=0.00..4.29 rows=2 width=0) (never executed)"
  30. "                Index Cond: (osm_id = (-332537))"
  31. "  ->  Bitmap Index Scan on osm_addresses_geom  (cost=0.00..4.58 rows=40 width=0) (actual time=0.006..0.006 rows=0 loops=1)"
  32. "        Index Cond: (geometry && $0)"
  33. "Total runtime: 0.080 ms"
  34.  
  35.  
  36. -- Solution of John Barce:
  37. EXPLAIN ANALYSE SELECT * FROM import.osm_addresses AS addr, (SELECT geometry FROM import.osm_admin_8 WHERE osm_id=-332537) AS addr2
  38.  WHERE st_intersects(addr.geometry, addr2.geometry);
  39. -- RESULT:
  40. "Nested Loop  (cost=8.87..343.38 rows=268 width=483) (actual time=1.183..8.358 rows=140 loops=1)"
  41. "  ->  Bitmap Heap Scan on osm_admin_8  (cost=4.29..11.69 rows=2 width=32) (actual time=0.023..0.024 rows=1 loops=1)"
  42. "        Recheck Cond: (osm_id = (-332537))"
  43. "        ->  Bitmap Index Scan on osm_admin_8_osm_id_idx  (cost=0.00..4.29 rows=2 width=0) (actual time=0.018..0.018 rows=1 loops=1)"
  44. "              Index Cond: (osm_id = (-332537))"
  45. "  ->  Bitmap Heap Scan on osm_addresses addr  (cost=4.59..165.71 rows=13 width=451) (actual time=1.151..8.216 rows=140 loops=1)"
  46. "        Recheck Cond: (geometry && osm_admin_8.geometry)"
  47. "        Filter: _st_intersects(geometry, osm_admin_8.geometry)"
  48. "        Rows Removed by Filter: 42"
  49. "        ->  Bitmap Index Scan on osm_addresses_geom  (cost=0.00..4.58 rows=40 width=0) (actual time=0.106..0.106 rows=182 loops=1)"
  50. "              Index Cond: (geometry && osm_admin_8.geometry)"
  51. "Total runtime: 8.466 ms"
  52.  
  53. -- Solution of Mike T
  54. EXPLAIN ANALYSE SELECT * FROM import.osm_addresses AS addr, import.osm_admin_8 AS addr2
  55.  WHERE addr2.osm_id=-332537 AND st_intersects(addr.geometry, addr2.geometry);
  56. -- RESULT
  57. "Nested Loop  (cost=8.87..343.38 rows=268 width=740) (actual time=1.434..7.810 rows=140 loops=1)"
  58. "  ->  Bitmap Heap Scan on osm_admin_8 addr2  (cost=4.29..11.69 rows=2 width=84) (actual time=0.028..0.028 rows=1 loops=1)"
  59. "        Recheck Cond: (osm_id = (-332537))"
  60. "        ->  Bitmap Index Scan on osm_admin_8_osm_id_idx  (cost=0.00..4.29 rows=2 width=0) (actual time=0.021..0.021 rows=1 loops=1)"
  61. "              Index Cond: (osm_id = (-332537))"
  62. "  ->  Bitmap Heap Scan on osm_addresses addr  (cost=4.59..165.71 rows=13 width=656) (actual time=1.398..7.665 rows=140 loops=1)"
  63. "        Recheck Cond: (geometry && addr2.geometry)"
  64. "        Filter: _st_intersects(geometry, addr2.geometry)"
  65. "        Rows Removed by Filter: 42"
  66. "        ->  Bitmap Index Scan on osm_addresses_geom  (cost=0.00..4.58 rows=40 width=0) (actual time=0.190..0.190 rows=182 loops=1)"
  67. "              Index Cond: (geometry && addr2.geometry)"
  68. "Total runtime: 7.928 ms"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement