Eduardo, en este post tenés una explicación de por qué se hace eso ahora, en
la sección Optimized Eager Loading
http://akitaonrails.com/2008/5/26/rolling-with-rails-2-1-the-first-full-tutorial-part-2

Básicamente, es porque dicen que varios joins de ese tipo van a generar una
mejor performance general.
Tambíen ahi tenés una referencia a los tickets donde se discutieron dichos
cambios.

Saludos,

Carlos Kozuskzo.

2008/6/21 Eduardo Trápani <[EMAIL PROTECTED]>:

> Hola,
>
> Tengo Programa y Version, Programa has_many :versiones.
>
> Cuando hago:
>
> Programa.find(:all,:include => :versiones)
>
> El SQL que genera es:
>
> SELECT * FROM `programas`
> SELECT `versiones`.* FROM `versiones` WHERE (`versiones`.programa_id IN
> (1,2,3))
>
> Efectivamente los id de versiones son 1,2 y 3.  Pero según el manual, en
> "Eager loading of associations" debería generarse un join comparando el
> programa_id de Version con el id de Programa.
>
> ¿Qué puede estar mal?  Estoy usando rails 2.1.0.  ¿Será que hacerlo así es
> más efectivo que un join on programas.id = versiones.programa_id?
>
> Eduardo.
>
> PD: Probé con consultas que generaban muchos más valores para incluir y me
> quedan unos Select ... where ...in (a,b,c,d,e,f,...) con cientos de valores.
> _______________________________________________
> Ruby mailing list
> [email protected]
> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
>



-- 
http://www.ckozus.com
http://www.insignia4u.com
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

Responder a