Hallo,

ich habe hier etwas ziemlich häßliches und dazu noch ziemlich lahmes:

  named_scope :on_stock,
    :include => [:po_items, :sales],
    :conditions => [
        <<-EOF
         ( ( SELECT SUM(po_items.quantity)
             FROM po_items
WHERE product_id = products.id AND po_items.delivery_status_type = 1) -
           ( SELECT SUM(sales.quantity)
             FROM sales
             WHERE product_id = products.id ) ) > 0
        EOF
    ]

Das Teil Dauert bei mir auf dem Entwicklungsrechner bei ca. 1000 Produkten etwas mehr als 1.6 Sekunden. Ich weiß, daß das grauselig aussieht, aber mir ist bisher keine bessere Lösung als die obige eingefallen.

Eigentlich ist es auch kein Rails-Problem und die Lösung ist wohl eher auf der SQL-Seite zu suches, aber vielleicht weiß ja trotzdem jemand wie man die Subselects durch joins ersetzen kann. Denn das wäre definitiv die elegantere Methode, aber ich kriege im Moment einfach keine andere Lösung hin.

Falls jemand einen Tip hat? Schon mal vielen Dank im voraus.

Viele Grüße

Michael Kastner
_______________________________________________
rubyonrails-ug mailing list
rubyonrails-ug@headflash.com
http://mailman.headflash.com/listinfo/rubyonrails-ug

Antwort per Email an