我有这个仪表板(报告),它基本上执行繁重的 sql 查询并将其结果显示在表格网格上,非常标准的东西。
但是,有时,由于数据量大和 sql 复杂性,查询非常繁重,浏览器会一直挂起,直到用户出错。
我没有 n+1 查询,并尝试添加分页,但我仍然面临这个问题。
对此最好的方法是什么?使用后台作业?
有没有办法在后台执行此查询,以防止请求失败?
我尝试实现一个 sidekiq 工作人员,但我不确定在工作完成后是否可以从工作人员那里获得结果。
@results = ActiveRecord::Base
.connection
.select_all(query)
.map do |record|
Hashie::Mash.new(record)
end
query
包含对字符串的 SQL 查询。
有什么见解吗?