Perbandingan Eloquent dan Query Builder Pada Laravel

Perbandingan Loquent dan Query Builder Pada Laravel

Pada artikel kali ini saya ingin membahas tentang perbandingan Eloquent dan Query Builder pada Laravel. Yups, Framework Laravel mempunyai dua buah metode untuk berinteraksi dengan database sehingga interaksi dengan database menjadi lebih mudah.

Eloquent ORM

Eloquent ORM pada Laravel menyediakan implementasi Active Record yang berarti bahwa setiap model yang kita buat dalam struktur MVC kamu sesuai dengan tabel dalam database kita. Misalkan, jika saya membuat model dengan nama ‘Post’, maka model tersebut akan sesuai dengan table ‘post’ pada database. Jadi, saya dapat mengakses data dalam tabel ‘post’ sebagai berikut.

Ada banyak fungsi pada Eloquent ORM pada Laravel yang memudahkan pengerjaan script kita.

Query Builder

Seperti namanya, Query Builder pada Laravel menyediakan antarmuka untuk membuat dan menjalankan query dalam database. Query Builder menggunakan PDO parameter binding untuk untuk melindungi aplikasi kita dari serangan injeksi SQL jadi kita tidak perlu lagi melakukan filter string sebagai binding. Contoh query dari Query Builder adalah sebagai berikut :

Nah, itu dia definisi dari Eloquent ORM dan Query Builder, sekarang kita bakal coba menguji coba keduanya.

Perbandingan Performa

OK, pada kasus ini saya ingin menginsert data sebanyak 1000 data dalam table ‘country’. Sekarang kita uji coba performa keduanya

Eloquent ORM (Execution time : 1.41 s, Queries Executed : 1000)

 Query Builder (Execution time : 938 ms, Queries Executed : 1000)

Dari hasil test diatas jelas bahwa Eloquent melakukan proses sedikit lebih lama dibandingan dengan Query Builder jadi pada masalah performa, Query Builder lebih baik dari Eloquent ORM.

Perbandingan Syntax

Nah, sekarang kita akan coba membandingkan keduanya dari segi penulisan syntax.

Eloquent ORM

Query Builder

Dilihat dari perbandingan syntax diatas, Eloquent ORM lebih singkat dan lebih mudah diketik daripada Query Builder.

Perbandingan Fungsionalitas

Sebenarnya Eloquent ORM adalah extensi dari Query Builder, jadi kita bisa menggunakan syntax Query Builder didalam Eloquent. Sebaliknya, kita tidak bisa mengakses syntax dari Eloquent jika kita menggunakan Query Builder. Contohnya dari Eloquent adalah sebagai berikut :

Kesimpulan

Dari perbandingan diatas, saya asumsikan bahwa Eloquent sedikit lebih baik dari segi fungsi dan efisiens ketimbang Query Builder namun dengan kekurangan bahwa proses query menjadi lebih lambat daripada Query Builder. Kamu bisa menggunakan keduanya sesuai dengan kebutuhan aplikasimu.

Segitu saja dulu bahasan kita tentang perbandingan Eloquent dan Query Builder Pada Laravel. Semoga bermanfaat. 😀

Berlangganan Artikel

Daftarkan email anda sekarang dan dapatkan update terbaru dari artikel saya

I will never give away, trade or sell your email address. You can unsubscribe at any time.

Powered by Optin Forms

6 tanggapan pada “Perbandingan Eloquent dan Query Builder Pada Laravel”

  1. Perbantingannya simple sekali. Hanya 2 tabel saja. Coba dibandingkan dengan 4 tabel dengan relasi 1 to many, many to 1, many to many, pake group by, order by, having,

Tinggalkan Balasan