Welcome Guest, Not a member yet? Register   Sign In
Optimize db query
#3

(This post was last modified: 10-20-2022, 11:06 PM by davis.lasis.)

Hi,
Not sure what much to optimize here

$this->db - is basically a service, so real DB connection is called only once. Many queries will not make multiple DB connections

I can't see unions and joins here and even if so - they would not make DB responses faster

Sugestions:
- try using objects instead of arrays. Objects simply work faster
- use models
- use entities and model returns (entity will return as object by default) - https://codeigniter4.github.io/CodeIgnit...ities.html
- i would optimize controller code, something like this

PHP Code:
class ServiceController extends Controller
{
    private $serviceModel;
    private $doctorModel;
    private $studioModel;
    private $specialityModel;

    public function __construct() 
    {
        $this->serviceModel model(ServiceModel::class);
        $this->doctorModel model(DoctorModel::class);
        $this->studioModel model(StudioModel::class);
        $this->specialityModel model(SpecialityModel::class);
    }

    public function index(int $id
    {
        $data = [
            'main_content' => 'pages/service_view',
            'service' => $this->serviceModel->find($id),
            'doctors' => $this->doctorModel->select('id, name, surname')->findAll(),
            'studios' => $this->studioModel->select('id, city, address')->findAll(),
            'specialty' => [],
        ];

        if (!empty($data['service'])) {
            $data['specialty'] = $this->specialityModel->find($data['service']->specialty_id);
        }

        return view('layouts/main_layout'$data);
    

Reply


Messages In This Thread
Optimize db query - by Johnny Stec - 10-20-2022, 12:52 AM
RE: Optimize db query - by encodedigital - 10-20-2022, 02:27 AM
RE: Optimize db query - by davis.lasis - 10-20-2022, 01:16 PM



Theme © iAndrew 2016 - Forum software by © MyBB