Breaking

Post Top Ad

Pasang Iklan Disini

Jumat, 10 Februari 2023

Penyebab Aplikasi Laravel Kamu Lambat. Cek Ini!

Aplikasi database yang dibuat di Laravel jadi lambat saat banyak data yang dikelola? Kemungkina itu terjadi karena masalah query dalam database yang di-looping mengambil data berulang.

Cara Mengatasinya

Pertama kamu harus instal terlebih dahulu clockwork laravel pada projek kamu serta ekstensionnya di browser. Kamu bisa baca dokumentasinya. Untuk instal library clockwork pada projek kamu, silahkan buka terminal dan ketikan sintaks berikut:

composer require itsgoingd/clockwork

Jika sudah berhasil diinstal, selanjutnya instal ekstension clockwork pada browser kamu. Caranya silahkan buka Chrome Web Store. Lalu cari clockwork dan instal.


Langkah selanjutnya buka website aplikasi kamu yang me-load data dari database. Lalu inspect halaman. Pada pojok kanan atas yang bertanda >> kamu klik dan pilih clockwork. Kemudian pindah ke tab database. Lalu lihat pada queries.


Dari gambar di atas, ternyata website kita saat mengambil data dari database ternyata melakukan query hingga 2.001 query padahal kita hanya membuat satu query dengan dua relasi tabel saja. Itu disebabkan karena query kita me-looping dan mengambil data satu-satu dan terus berulang hingga tampil semua data yang diminta query. Dan ini yang dinamakan lazy loading. Oleh karena itu kita harus merubahnya menjadi Eager Loading agar query yang dilakukan tidak berulang-ulang. Kamu bisa baca dokumentasinya diwebsite laravel. Untuk melakukannya, kamu cukup rubah codenya seperti berikut:


//ini lazy loading
            "blogs"  => Post::latest()->get()
           
            //setelah dirubah menjadi eager loading
            "blogs"  => Post::with(['author','category'])->latest()->get()


Setelah dirubah, kembali cek menggunakan clockwork. Dan perhatikan gambar di bawah:



Dan sekarang perhatikan query yang dilakukan hanya 3 jauh berbeda dengan sebelumnya hingga 2000 query.







Tidak ada komentar:

Posting Komentar

Post Top Ad

Pasang Iklan Disini

Halaman