Einzelnen Beitrag anzeigen

Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: [MySQL]existenz eines datensatzes prüfen: was ist schnel

  Alt 26. Mär 2006, 16:55
Also zuallererst: Leg mal einen Index auf die Namens-Spalte an. Da du diese als Selektionskriterium nimmst, spart das schon mal einen Haufen Zeit bei den Lesezugriffen (das Schreibzugriffe dauern dafür länger).

Ich bin nicht sicher, wann LIMIT ausgeführt wird. Bestenfalls wird nach dem ersten Vorkommen aufgehört zu suchen, dann ist die Variante mit LIMIT die schnellste. Schlimmestenfalls werden alle gefunden und dann erst LIMIT ausgeführt. Im Mysql-Manual sollte aber drin stehen, in welcher Reihenfolge die einzelnen Klauseln ausgeführt werden.

Falls LIMIT, wie oben angesprochen, erst am Ende ausgeführt werden sollte, dann würde ich die Variante mit dem COUNT empfehlen, sonst die mit dem LIMIT. Der Index tut aber in beiden Fällen gut.


Edit: Ich sehe gerade, name ist UNIQUE - könnte gut sein, dass UNIQUE einen normalen Index miteinschließt, ich bin nicht sicher.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat