jeudi 25 janvier 2018

¿Usando activerecord, qué tipo de query sería mas efectivo teniendo en cuenta 2 tablas en relación de uno a muchos?

Tengo un escenario con 2 tablas relacionadas y quiero imprimir en pantalla en una lista información de ambas tablas.

opción1.

@data = User.where(id: [array_users_ids]).includes(:products)

opción2.

@data = User.where(id: [array_users_ids]).joins(:products).select('users.*, products.name as product_name')

Ahora lo que ocurre con la opción1 es que genera en la consola una consulta sql por cada usuario con sus productos.

en cambio la opción2 se traduce en un solo sql ejecutado.

He leido que la forma correcta de hacerlo sería con la opción1 pero para mi no tiene sentido si la opción2 genera una sola consulta sql y me trae la información correcta.

Aucun commentaire:

Enregistrer un commentaire