Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

ZahidGopang's avatar

Speed up query

Hi i need to speed up following query any idea i have million records and do not want to use limit indexing is set for both tables eager loading is the option for services_types but do not want to send data extra key in json app already using following json format any idea please

UserServices::join('services_types', 'user_services.service_type_id', '=', 'services_types.id')->whereRaw("6371 * acos(cos(radians(" . $latitude . "))
                 * cos(radians(service_latitude)) 
                 * cos(radians(service_longitude) - radians(" . $longitude . ")) 
                 + sin(radians(" .$latitude. "))
                 * sin(radians(service_latitude))) <= ?", [$radius])
                ->where('service_start_date', "<=", date("Y-m-d"))
                ->where('service_end_date' , '>=' , date('Y-m-d'))
                ->where('service_status' , 1)
                ->get(
                    [
                        'user_services.id',
                        'user_services.service_title',
                        'user_services.service_latitude',
                        'user_services.service_longitude',
                        'services_types.id as service_type_id',
                        'services_types.services_type_title as service_type'
                    ]
                );
0 likes
0 replies

Please or to participate in this conversation.