Могу ли я создать представление postgresql из приведенного ниже кода? Это необходимо ?, потому что теперь для загрузки требуется несколько секунд, но в будущем мне придется добавить на него диапазон дат. Если да, может кто-нибудь помочь мне написать это, пожалуйста.Rails создать представление из активной записи
report = self.project_reports
results_total = report.where('value < ?', 50).group("key_id").select('key_id')
fifty = report.where('value BETWEEN ? AND ?', 41, 50).group("key_id").select('key_id')
forty = report.where('value BETWEEN ? AND ?', 31, 40).group("key_id").select('key_id')
thirty = report.where('value BETWEEN ? AND ?', 21, 30).group("key_id").select('key_id')
twenty = report.where('value BETWEEN ? AND ?', 11, 20).group("key_id").select('key_id')
ten = report.where('value BETWEEN ? AND ?', 4, 10).group("key_id").select('key_id')
three = report.where('value = ?', 3).group("key_id").select('key_id')
two = report.where('value = ?', 2).group("key_id").select('key_id')
one = report.where('value = ?', 1).group("key_id").select('key_id')
pos = {fif: fifty.count.size, four: forty.count.size, thir: thirty.count.size, twen: twenty.count.size, te: ten.count.size, thr: three.count.size, tw: two.count.size, on: one.count.size, result_t: total}
http://alexpotrykus.com/blog/2013/04/10/postgres-views-in-rails/ это не вид? – John
Если вы просмотрите эту статью, вы увидите, что фактический вид не появляется до перехода, который начинается с 'create or replace view ...'. Это утверждение создает представление. Выполнение произвольного запроса может быть использовано аналогично представлению, но оно устраняет гибкость в отношении производительности. Обычно вы не начинаете использовать представление, пока не убедитесь, что преимущества в производительности оправдывают трудности в ремонтопригодности. Либо это, либо если вам нравится сложный код: :) В этом случае я пока не вижу причины переходить к реальному виду (материализованному или нет). – PinnyM