Tip para mejorar la velocidad en nuestras aplicaciones Rails

16 Dec
Published by omar.reyes in

Tags 

Rails

Existen muchas formas para optimizar nuestras aplicaciones Rails y así ofrecer mejores tiempos de respuesta, veamos una forma (de entre tantas) de optimizar nuestros modelos (Active Record) para hacer que sean más eficientes al momento de obtener información derivado de una consulta (a través de Query Interface) cuando estos se encuentran asociados con otros modelos, para esto usaremos el parámetro select en las asociaciones belongs_to y has_many de nuestros modelos; con esto podemos aumentar la velocidad de la aplicación en un 50% o mayor, veamos un ejemplo:

Consideremos estos dos modelos.

class paciente belongs_to :medico
end

class medico has_many :paciente
end

Estos modelos se encuentran asociados entre si, de tal manera que un paciente pertenece a un medico y un medico tienen muchos pacientes

Optimizando los modelos.

class paciente belongs_to :medico, :select => 'id, nombre, apellido'
end

class medico has_many :paciente, :select => 'id, nombre, paciente_id'
end

De esta manera optimizamos la asociación que existe entre estos modelos, de tal forma que solo los campos que se especifican en el parámetro select son los que se recuperan de la base de datos y así se mejora la velocidad de respuesta

Fuente:Aqui