mysql: Erste freie Zahl finden
bearbeitet von
Hallo und guten Tag,
> Das geht auch soweit, mit dieser Query:
>
> ~~~sql
> SELECT MIN( Zahl ) FROM tabelle_nummern t1 WHERE NOT EXISTS ( SELECT Zahl FROM tabelle_nummern t2 WHERE t2.Zahl = t1.Zahl +1 ) AND t1.Zahl > 100 AND t1.Zahl < 100000
> ~~~
> Leider ist diese Query meist sehr, sehr lahm. Zeiten von über 15 Sekunden sind bei etwa 2000-3000 belegten Nummern in der Tabelle keine Seltenheit.
>
> Hat jemand eine Idee, wie ich das schneller lösen kann?
Versuch es anstellen min() mal mit dem self-join und einer limit-clause.
Grüße
TS
--
es wachse der Freifunk
<http://freifunk-oberharz.de>