.join('specialists', 'companies.id', '=', 'specialists.company_id')
.join('users', 'specialists.id', '=', 'users.id')
.where('city_id', '=', (await knex('users').where({ id: ctx.from.id }).first()).city_id)
.where({
'specialists.is_active': true,
'companies.is_active': true,
}).distinct('company_name').select('company_name', 'company_id');
Пожалуйста помогите нормально запрос составить, неужели нельзя улучшить это г*вно ?
а что тебя не устраивает
Ты можешь изучить планы для этого запроса через explain и сравнить его с другими возможными запросами (например, попробуй сначала найти активных пользователей per comany, а потом заджоини их компании )
Скорость в 120 мс
Как минимум ты можешь два свои запроса в один объединить
Обсуждают сегодня