Vinzenz Mai: Abfragen, ob Inhalte in Spalten

Beitrag lesen

Hallo Georg,

Select c from a where d = 5 and and b = 2 limit 1

Gibt es eine bessere/ schnellere Methode, die Problemstellung zu meistern?

Teste mit EXPLAIN, ob Deine Abfrage oder

SELECT  
    COUNT(*)  
FROM A  
WHERE D = 5  
    AND B = 2

schneller ist

Wie arbeitet limit? Werden alle Datensätze abgearbeitet und anschließend limitiert, oder wird die Verarbeitung beim ersten gefundenen abgebrochen?

Soweit ich mich erinnere, kann LIMIT eine Performance-Bremse sein, wenn man
es nicht benötigt :-) Befrage EXPLAIN.

Um das ganze auf ja / nein zu bringen, solltest Du noch IF einbauen:

SELECT  
    [link:http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html#function_if@title=IF](COUNT(*) > 0, 'ja', 'nein') AS ergebnis  
FROM A  
WHERE D = 5  
    AND B = 2

Ja, ja! Mir ist schon klar, dass Du wahrscheinlich nicht die Werte 'ja' und
'nein' haben möchtest :-)

Freundliche Grüße

Vinzenz