Как обрабатывается база данных с использованием ROR? - PullRequest
0 голосов
/ 03 декабря 2018

Я столкнулся с одной проблемой при получении значений из базы данных с использованием RoR.У меня есть минимум 100 миллионов данных.Как я могу получить все данные, используя один запрос и минимальное время ответа?

Я хочу получить все имена клиентов в течение определенного периода времени (мы используем MySQL)

1 Ответ

0 голосов
/ 03 декабря 2018

Ответ зависит от структуры вашей базы данных, но обычно вы можете ограничить свои запросы, чтобы выбрать только те данные, которые вас интересуют. Если (например) ваша таблица называется customers, а ваша модель Customer иВ таблице есть поля transaction_date и name, которые вы можете сделать ...

start_date = Date.parse('2018-10-01')
end_date = Dae.parse('2018-10-31')

@customer_names = Customer.where(transaction_date: (start_date..end_date)).pluck(:name)

Ограничение where на дату должно сделать результаты управляемыми.

...