Hi Julien, That makes sense. I added a.id > b.id. It still took 17 minutes, however.
Bo On Thu, Feb 5, 2026 at 6:00 AM MONTICOLO Julien < [email protected]> wrote: > Hello, > > > > When doing a cross join (my_fishbones a, my_fishbones b), you multiply a > by b, so 100K by 100K. > > If your table has 3 records : 1, 2, 3, the cross join outputs : 1|1, 1|2, > 1|3, 2|1, 2|2, 2|3, 3|1, 3|2, 3|3. > > There are unnecessary crosses. > > > > Add a condition : a.id > b.id to traverse only the half of the matrix. > > > > Kind regards > > > > *De :* Bo Guo [mailto:[email protected]] > *Envoyé :* jeudi 5 février 2026 13:53 > *À :* PostGIS Users Discussion <[email protected]> > *Objet :* [ScanMail-Spam] Slowness in testing any crossing straight lines > in a layer > > > > Hi There! > > > > I have 100K straight lines in a layer - my_fishbone - with GIST indexed. > However, the following SQL query did not finish within 20 minutes! Could > you advise on any improvement ideas? > > > > SELECT a.*, b.id > FROM my_fishbones a, my_fishbones b > WHERE a.geom && b.geom > AND ST_Crosses(a.geom, b.geom) > > > > Thanks in advance! > > > > Bo Guo > > > Ce message est établi à usage exclusif de son destinataire. > Toute utilisation ou diffusion, partielle ou totale, doit être > préalablement autorisée. > > Tout message électronique est susceptible d'altération et son intégrité ne > peut être assurée. > L'expéditeur décline toute responsabilité au titre de ce message s'il a > été modifié ou falsifié. > > Si vous n'êtes pas destinataire de ce message, merci de le détruire et > d'avertir l'expéditeur. > > Ville et Eurométropole de Strasbourg >
