TS: mysql: Erste freie Zahl finden

Beitrag lesen

Hallo und guten Tag,

Das geht auch soweit, mit dieser Query:

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 anstelle von min() mal mit dem self-join und einer limit-clause.

Grüße
TS

--
es wachse der Freifunk
http://freifunk-oberharz.de