-- 010_band_locations_geom.sql -- La carte doit clusteriser par LOCALISATION (band_locations), pas par groupe -- (bands). band_locations n'avait que lat/lon sans index spatial → seq-scan à -- chaque déplacement de carte. On ajoute une colonne geom générée + index GIST, -- alignée sur le pattern de la table bands. ALTER TABLE band_locations ADD COLUMN IF NOT EXISTS geom geometry(Point, 4326) GENERATED ALWAYS AS ( CASE WHEN lat IS NOT NULL AND lon IS NOT NULL THEN ST_SetSRID(ST_MakePoint(lon, lat), 4326) END ) STORED; CREATE INDEX IF NOT EXISTS idx_bl_geom ON band_locations USING GIST (geom);