Jap genau,
Wenn du die auto_increment Einstellung benutzt und zudem nichts löscht wie du selber sagst, dann sollte die nächste Höhere Zahl immer die freie Kundennummer sein.
Ansonsten macht SQL in deinem Fall 3 komplette Datenbank Scans. Einmal holt es sich die Daten für die Tabelle die du durchsuchen willst. Dann nochmal für den Subquery (wobei das ein wenig schneller gehen sollte, da die Daten bereits im Cache liegen. Und dann nochmals für die Range im Where. Zudem kann kein Index benutzt werden, da Range keinen Index benutzt.
Die Idee zur Optimierung wäre bei einer MyIsam Tabelle, dass du ALLE Daten in die Programmiersprache holst und dort die kleinstmögliche Kundennummer suchst. Zudem könntest du die zuletzt gefundene kleinste Kundennummer speichern, dann kannst du bei deiner nächsten Abfrage ab dieser Zahl suchen.
Hallo T-Rex,
aah, danke Dir. Genau nach dieser Erklärung und einem solchen Tip habe ich gesucht.
Damit sehe ich meine Frage auch schon als vollständig beantwortet an.
Vielen Dank an Dich, Tobias