2016-01-21 65 views
0

我有一个巨大的哈希阵列。每个哈希都有关于公司的详细信息。当我在这个哈希数组中搜索时。它非常缓慢。我如何改善其表现?快速搜索Ruby on Rails阵列

我使用的选择方法与条件以获得基于状态的不同的公司,除像

companies.count { |company| company.sectors.include?('educational') && company.status == 'completed' } 

什么是使用Ruby on Rails的阵列的一个巨大的散列搜索的最佳方式?

+6

,最快的方式是在数据库里面搜索,使用SQL查询 – Nermin

+0

将数据导入数据库并查询它怎么样?如果你的数据集不会经常改变,那么这可能是个好主意 – Alik

+0

你的意思是“巨大的哈希阵列”,我相信。另外,你的信息太少了。你有多少搜索条件?你总是使用同一套搜索条件吗?为什么你当前的数据结构是一样的? –

回答

0

使用SQL:

Company.where('selector like ? AND status = ?', '%educational%', 'completed').count 

,但是你可以先使用发现companies

@companies = Company.includes(:my_associations).where(...) 

比我的样品.where('selector like ? AND......