2017-04-14 1 views
1

Ich bin ziemlich neu über Abfragen und ich würde gerne wissen, ob es eine einfachere Lösung für die Abfrage, die ich arbeite.Effiziente MySQL-Abfrage-Methode zur Vermeidung mehrerer OR-Anweisung

Zum Beispiel möchte ich die Daten bekommen, wo x 5,7,9,11,13,15 und 17.

ich eine Abfrage wie unten haben ist;

Ist es in Ordnung, diese Abfrage zu verwenden, oder gibt es eine andere einfachere und effizientere Lösung?

EDIT

den perfomance wirkt sich, wenn ich x verwenden = [5,7,8,11,13,15,17] vs x = [5,11,7,15,8, 17,13]

X ist beispielsweise die ID einer anderen Kategorie.

Antwort

3

Dies ist kürzer, sondern führt ebenso

SELECT * FROM abc WHERE x in (5,7,9,11,13,15,17) 

Aber denken Sie daran, wenn ein Eintrag in der in Klausel null dann wird FALSE zurückgegeben.

+0

Danke für die Antwort! Ich werde nach Benchmarking suchen und es selbst ausprobieren. Übrigens, was würdest du mir vorschlagen, wenn ich möchte, dass die Ausgabe zufällig statt neu oder alt wird? –

+2

'Reihenfolge von rand()' –

Verwandte Themen