bobby: Optimierung MySQL-Query

Beitrag lesen

Moin,

So, ich möchte eine komfortablere und elegantere sowie performantere Lösung nicht vorenthalten.

SELECT * FROM entries WHERE id IN  (
    SELECT d.id FROM 
      ( SELECT f.id, @k := @k+1 AS pos, if(id = 88900 , @y := @k, @y:=@y ) FROM 
         (SELECT id FROM entries ORDER BY price DESC) f, 
         (SELECT @k := 0 FROM DUAL) AS c 
      ) d 
    WHERE d.pos BETWEEN @y-1 AND @y+1
) LIMIT 0,3

Ausführungszeit bei 25 TSD Datensätzen: 40 - 60ms

Gruß Bobby

--
-> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <- ### Henry L. Mencken ### -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <- ### Viktor Frankl ### ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)