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
>

Reply via email to