Verzweifelnder: LIMIT bei einer ID Abfrage in MySQL?

Hi!

Nur eine kurze Frage:

Wenn in einer MySQL Datenbank die ID Spalte mit Integer, Auto-Inkrement und Primary Key definiert ist, also die ueindeutige Schlüsselspalte der Tabelle ist, und ich einen ID bezogenen Datensatz suche, zB.

SELECT username, usermail FROM users WHERE id = ? LIMIT 1

Kann ich mir das LIMIT dann sparen, weil die Datenbank anhand der Einstellungen ja sowieso weiß, dass es maximal 1 Datensatz mit dieser ID geben kann? Oder durchforstet die Datenbank nach dem Finden des Datensatzes dann trotzdem alle Datensätze bis zum letzten weiter durch? Weil dann wäre das LIMIT ja ressourcenschonend.

Ich bin sicher, hier gibt es wen, der das im Gegensatz zu mir weiß. 😀

Danke!

Der Verzweifelnde

  1. Liebe(r) Verzweifelnder,

    Kann ich mir das LIMIT dann sparen, weil die Datenbank anhand der Einstellungen ja sowieso weiß, dass es maximal 1 Datensatz mit dieser ID geben kann?

    Du kannst Dir das Limit sparen, ja. Die DB weiß nicht, dass Du maximal einen Datensatz erhalten kannst. Aber Du weißt das.

    Oder durchforstet die Datenbank nach dem Finden des Datensatzes dann trotzdem alle Datensätze bis zum letzten weiter durch? Weil dann wäre das LIMIT ja ressourcenschonend.

    Das überlässt Du vertrauensvoll den Optimierungen der DB-Software, die für diesen Zweck optimiert ist.

    Liebe Grüße

    Felix Riesterer

    1. Danke für die Auskunft, Felix!