我们在用户表中有一个名为"data"的列,其中包含一个巨大的JSON转储。现在每次我们加载一堆用户时,就会将所有这些数据加载到内存中,导致内存溢出错误。
我们希望能够编写一些计算列,以便在选择语句中使用。
主要用例是显示所有用户的索引页面,基本上加载所有用户的数据列。
这将避免在内存中加载巨大的数据列,并帮助我们从数据列中加载所需字段。
如何在Rails4中最好地实现此功能?
更新:
我们在Heroku上使用postgres。
我们希望能够编写一些计算列,以便在选择语句中使用。
eg:
Instead of doing this
user.data['profile_data']['data']['image']
We would like to add a column :image and then write a query like:
Here :name and :email are actual columns on the table and :image is a computed column:
Users.where(SOME_CONDITION).select(:name,:email,:image)
主要用例是显示所有用户的索引页面,基本上加载所有用户的数据列。
这将避免在内存中加载巨大的数据列,并帮助我们从数据列中加载所需字段。
如何在Rails4中最好地实现此功能?
更新:
我们在Heroku上使用postgres。
:name
、:email
和:image
列都只来自于data
吗? - Arup Rakshit