Hallo,
Ich will bei einer Registrierung überprüfen, ob ein Nickname schon existiert. Dabei verwende ich zum Testen folgenden Code:
Wie könnte ich die Suche effizienter gestalten?
Das kommt darauf an. Willst Du wirklich nur wissen, ob der Nickname schon existiert, dann reicht ein "SELECT COUNT(*) FROM USERS WHERE NICK = 'Wasauchimmer'". Wenn das Ergbins 0 ist, dann gibt's den Nickname noch nicht, andernfalls schon (wobei Du eventuell noch auf eine beliebige Gross-Klein-Schreibung-Regelung Rücksicht nehmen willst). Bei vernünftiger Datenbankkonfiguration ist das auhc dann noch effizient, wenn schon viele Daten in der Tabelle stehen (Stichwort Index).
Wenn Du aber mit dem (eventuell) gefundenen Datensatz noch mehr anstellen willst, dann ist Deine Lösung schon recht gut.
In beiden Fällen würde ich mir noch Parameter-Binding 'antun', da damit viele allfällige Probleme umgangen werden (Was ist, wenn der Nick ein Anführungszeichen beinhalten soll?).
Grüße
Klaus