Skip to content

Commit 053098f

Browse files
authored
Additional indexes on (feed_version_id,id) (#574)
1 parent 7bbb0c2 commit 053098f

1 file changed

Lines changed: 80 additions & 0 deletions

File tree

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
BEGIN;
2+
3+
-- Already has (feed_version_id, id) index: gtfs_stops (gtfs_stops_feed_version_id_id_idx)
4+
-- Already has (feed_version_id, id, ...) index: gtfs_routes (index_gtfs_routes_on_feed_version_id_agency_id)
5+
6+
-- Tables without an id column are excluded: feed_version_agency_onestop_ids, feed_version_route_onestop_ids,
7+
-- feed_version_stop_onestop_ids, gtfs_stop_times, tl_agency_geometries, tl_feed_version_geometries,
8+
-- tl_route_geometries, tl_route_stops
9+
10+
-- Not needed, we don't order by (feed_version_id,id) in application code:
11+
-- feed_fetches
12+
-- feed_states
13+
-- feed_version_gtfs_imports
14+
-- tl_stop_external_references
15+
-- tl_stop_onestop_ids
16+
-- tl_ext_fare_networks
17+
-- tl_agency_onestop_ids
18+
-- tl_route_headways
19+
-- tl_route_onestop_ids
20+
-- tl_validation_reports
21+
22+
-- Run these first, they are by far the largest tables
23+
CREATE INDEX IF NOT EXISTS gtfs_trips_feed_version_id_id_idx ON gtfs_trips (feed_version_id, id);
24+
CREATE INDEX IF NOT EXISTS gtfs_shapes_feed_version_id_id_idx ON gtfs_shapes (feed_version_id, id);
25+
26+
-- GTFS entity tables
27+
CREATE INDEX IF NOT EXISTS ext_plus_calendar_attributes_feed_version_id_id_idx ON ext_plus_calendar_attributes (feed_version_id, id);
28+
CREATE INDEX IF NOT EXISTS ext_plus_directions_feed_version_id_id_idx ON ext_plus_directions (feed_version_id, id);
29+
CREATE INDEX IF NOT EXISTS ext_plus_fare_rider_categories_feed_version_id_id_idx ON ext_plus_fare_rider_categories (feed_version_id, id);
30+
CREATE INDEX IF NOT EXISTS ext_plus_farezone_attributes_feed_version_id_id_idx ON ext_plus_farezone_attributes (feed_version_id, id);
31+
CREATE INDEX IF NOT EXISTS ext_plus_realtime_routes_feed_version_id_id_idx ON ext_plus_realtime_routes (feed_version_id, id);
32+
CREATE INDEX IF NOT EXISTS ext_plus_realtime_stops_feed_version_id_id_idx ON ext_plus_realtime_stops (feed_version_id, id);
33+
CREATE INDEX IF NOT EXISTS ext_plus_realtime_trips_feed_version_id_id_idx ON ext_plus_realtime_trips (feed_version_id, id);
34+
CREATE INDEX IF NOT EXISTS ext_plus_rider_categories_feed_version_id_id_idx ON ext_plus_rider_categories (feed_version_id, id);
35+
CREATE INDEX IF NOT EXISTS ext_plus_route_attributes_feed_version_id_id_idx ON ext_plus_route_attributes (feed_version_id, id);
36+
CREATE INDEX IF NOT EXISTS ext_plus_stop_attributes_feed_version_id_id_idx ON ext_plus_stop_attributes (feed_version_id, id);
37+
CREATE INDEX IF NOT EXISTS ext_plus_timepoints_feed_version_id_id_idx ON ext_plus_timepoints (feed_version_id, id);
38+
CREATE INDEX IF NOT EXISTS gtfs_agencies_feed_version_id_id_idx ON gtfs_agencies (feed_version_id, id);
39+
CREATE INDEX IF NOT EXISTS gtfs_areas_feed_version_id_id_idx ON gtfs_areas (feed_version_id, id);
40+
CREATE INDEX IF NOT EXISTS gtfs_attributions_feed_version_id_id_idx ON gtfs_attributions (feed_version_id, id);
41+
CREATE INDEX IF NOT EXISTS gtfs_booking_rules_feed_version_id_id_idx ON gtfs_booking_rules (feed_version_id, id);
42+
CREATE INDEX IF NOT EXISTS gtfs_calendar_dates_feed_version_id_id_idx ON gtfs_calendar_dates (feed_version_id, id);
43+
CREATE INDEX IF NOT EXISTS gtfs_calendars_feed_version_id_id_idx ON gtfs_calendars (feed_version_id, id);
44+
CREATE INDEX IF NOT EXISTS gtfs_fare_attributes_feed_version_id_id_idx ON gtfs_fare_attributes (feed_version_id, id);
45+
CREATE INDEX IF NOT EXISTS gtfs_fare_media_feed_version_id_id_idx ON gtfs_fare_media (feed_version_id, id);
46+
CREATE INDEX IF NOT EXISTS gtfs_fare_products_feed_version_id_id_idx ON gtfs_fare_products (feed_version_id, id);
47+
CREATE INDEX IF NOT EXISTS gtfs_fare_rules_feed_version_id_id_idx ON gtfs_fare_rules (feed_version_id, id);
48+
CREATE INDEX IF NOT EXISTS gtfs_fare_transfer_rules_feed_version_id_id_idx ON gtfs_fare_transfer_rules (feed_version_id, id);
49+
CREATE INDEX IF NOT EXISTS gtfs_feed_infos_feed_version_id_id_idx ON gtfs_feed_infos (feed_version_id, id);
50+
CREATE INDEX IF NOT EXISTS gtfs_frequencies_feed_version_id_id_idx ON gtfs_frequencies (feed_version_id, id);
51+
CREATE INDEX IF NOT EXISTS gtfs_levels_feed_version_id_id_idx ON gtfs_levels (feed_version_id, id);
52+
CREATE INDEX IF NOT EXISTS gtfs_location_group_stops_feed_version_id_id_idx ON gtfs_location_group_stops (feed_version_id, id);
53+
CREATE INDEX IF NOT EXISTS gtfs_location_groups_feed_version_id_id_idx ON gtfs_location_groups (feed_version_id, id);
54+
CREATE INDEX IF NOT EXISTS gtfs_locations_feed_version_id_id_idx ON gtfs_locations (feed_version_id, id);
55+
CREATE INDEX IF NOT EXISTS gtfs_networks_feed_version_id_id_idx ON gtfs_networks (feed_version_id, id);
56+
CREATE INDEX IF NOT EXISTS gtfs_pathways_feed_version_id_id_idx ON gtfs_pathways (feed_version_id, id);
57+
CREATE INDEX IF NOT EXISTS gtfs_rider_categories_feed_version_id_id_idx ON gtfs_rider_categories (feed_version_id, id);
58+
CREATE INDEX IF NOT EXISTS gtfs_route_networks_feed_version_id_id_idx ON gtfs_route_networks (feed_version_id, id);
59+
CREATE INDEX IF NOT EXISTS gtfs_stop_areas_feed_version_id_id_idx ON gtfs_stop_areas (feed_version_id, id);
60+
CREATE INDEX IF NOT EXISTS gtfs_timeframes_feed_version_id_id_idx ON gtfs_timeframes (feed_version_id, id);
61+
CREATE INDEX IF NOT EXISTS gtfs_transfers_feed_version_id_id_idx ON gtfs_transfers (feed_version_id, id);
62+
CREATE INDEX IF NOT EXISTS gtfs_translations_feed_version_id_id_idx ON gtfs_translations (feed_version_id, id);
63+
64+
-- Materialized tables
65+
CREATE INDEX IF NOT EXISTS tl_materialized_active_agencies_feed_version_id_id_idx ON tl_materialized_active_agencies (feed_version_id, id);
66+
CREATE INDEX IF NOT EXISTS tl_materialized_active_routes_feed_version_id_id_idx ON tl_materialized_active_routes (feed_version_id, id);
67+
CREATE INDEX IF NOT EXISTS tl_materialized_active_stops_feed_version_id_id_idx ON tl_materialized_active_stops (feed_version_id, id);
68+
69+
-- Segments
70+
CREATE INDEX IF NOT EXISTS tl_segment_patterns_feed_version_id_id_idx ON tl_segment_patterns (feed_version_id, id);
71+
CREATE INDEX IF NOT EXISTS tl_segments_feed_version_id_id_idx ON tl_segments (feed_version_id, id);
72+
73+
-- Other feed version tables
74+
CREATE INDEX IF NOT EXISTS feed_version_file_infos_feed_version_id_id_idx ON feed_version_file_infos (feed_version_id, id);
75+
CREATE INDEX IF NOT EXISTS feed_version_service_levels_feed_version_id_id_idx ON feed_version_service_levels (feed_version_id, id);
76+
CREATE INDEX IF NOT EXISTS feed_version_service_windows_feed_version_id_id_idx ON feed_version_service_windows (feed_version_id, id);
77+
CREATE INDEX IF NOT EXISTS tl_agency_places_feed_version_id_id_idx ON tl_agency_places (feed_version_id, id);
78+
79+
80+
COMMIT;

0 commit comments

Comments
 (0)