sql >> Database >  >> RDS >> PostgreSQL

ActiveRecord-query veel langzamer dan rechte SQL?

Een paar dingen springen eruit.

Ten eerste, als deze code 2000 keer wordt aangeroepen en 250 ms extra kost om uit te voeren, is dat ~ 0,125 ms per aanroep om de Arel naar SQL te converteren, wat niet onrealistisch is.

Ten tweede ben ik niet zeker van de interne onderdelen van Range in Ruby, maar lower..upper kan berekeningen doen zoals de grootte van het bereik en andere dingen, wat een grote prestatiehit zal zijn.

Zie je dezelfde prestatiehit met het volgende?

sum = Table.
      where(:id => id).
      where(:created_at => "BETWEEN ? and ?", lower, upper).
      sum(:my_column)



  1. Hoe IDENTITY_INSERT in- en uitschakelen met SQL Server 2008?

  2. Dynamic Linq mislukt bij gebruik van Bevat tegen Int-veld

  3. Hoe kan ik meerdere kolommen met prioriteit doorzoeken in MySQL?

  4. MySQL - Selecteer rijnummer van een record