mantap pak, smlm saya baru belajar laravel eloquent, trs disebutin masalah N+1 query, hri ini lgsng ada video pembahasannya, untung sblm-sblmnya saya lgsng join, jadi ga pernah kena trouble ini😂
@octarapribadi6 күн бұрын
menurut saya, query sekecil apapun pantang dimasukan dalam loop dengan kompleksitas n. maybe dalam bbrp kasus tertentu masih diperbolehkan jika jumlah loopnya fix, walaupun belum pernah dapat problem tersebut.
@ButaNgamuk6 күн бұрын
Sekedar berbagi. Kalo dalam ORM N+1 itu fitur, kalo gak pake ORM itu masalah skill SQL. Fitur ORM ini jadi problem kalo salah pakenya. Biasa terjadi kalo pake relasi tipe XToMany yang sebenernya bisa diganti dengan Unidirectional XToOne. Jika memakai tipe relasi XToOne, secara default ORM akan otomatis pake JOIN query. Di sisi lain seringkali requirements itu tidak memperhatikan performance. Sebagai contoh, pada kasus layar kursus tadi kita bisa memilih untuk menghilangkan nama trainer dan fokus ke atribute kursus seperti Nama, Detail, Durasi, dll. Karena pada umumnya orang akan tertarik dengan kursus bukan karena trainernya (fokus terhadap subjek Kursus). Detail Trainer bisa ditampilkan pada layar "Detail Kursus" dimana bisa saja selain trainer ditampilkan siapa saja peserta kursus tadi. TIPS: Sebelum kamu menggunakan tipe relasi XToMany pikir dulu apakah bisa diganti dengan XToOne?
@coinima6 күн бұрын
Alhamdulillah dapat manfaat setelah scroll Facebook, makasih pak Eko
@jeffryansyahputra37657 күн бұрын
pake join ... sekali jalan aja query nya.. 😁
@babygold_id9 күн бұрын
Mantap pak, terimakasih banyak, jadi paham cara menjelaskan dan penamaannya. Di kerjaan saya (SAP - ABAP) yang hampir full query SQL, join & in query menjadi hal yang harus diberikan perhatian khusus 😂
@tehkotak78636 күн бұрын
@@babygold_id gimana biar bisa kerja di bidang SAP ya bang?
@sugarprogrammer6 күн бұрын
@@babygold_id info pak web atau kursus buat belajar SAP ABAP?🙏
@dickiandrea8947 сағат бұрын
Keren Pak, pegang apa kalau boleh tahu Pak?
@RezaPrayoga2367 күн бұрын
saya lebih prefer join table biar satu round trip request ke database.
@soktahu24595 күн бұрын
tergantung jumlah data dan apakah aplikasinya concern ke memory usage atau tidak. Kalau join akan cenderung consume memory lebih banyak karena ada banyak data yg harus di hold di memory, padahal datanya sama hanya berulang.
@fntasticHijack4 күн бұрын
Teknik kedua akan lebih mudah diambil kalau output nya menggunakan resolver seperti gql atau digunakan untuk paging by parent. Meskipun paging by parent akan lebih mudah pakai sub query sih
@fahruroji9167 күн бұрын
Mantap pak, materinya daging semua
@haixirtcrack31187 күн бұрын
Baru tau dan untung saja selalu pake join. Tinggal coba2 nerapin in query aja sih ini.
@TiTechChannel3 күн бұрын
Lebih suka pake teknik CTE kalau untuk query yang butuh join ke beberapa table
@katomegumin74435 күн бұрын
waduh" bang tolong di bantu, abang kan educator nih, mungkin ketika bikin video edukasi tentang query di banntu me wanti" muritnya bahwa jangan pernah query SELECT * apa pun situasinya. Karena membuat good habits itu lebih mudah dari pada menyembuhkan bad habits, hanya query kolom yang kalian butuh ya teman" apalagi kalo sudah main Join table, karena bukan hanya berpengaruh terhadap performa query teman" karena kemungkinan banyak data yang redundant, tapi juga tidak baik untuk keamanan sistem karena bisa saja data sensitif ikut ter query, meskipun table isinya cuma 2=3 kolom dan datanya tidak senitif tetap query nama kolomnya langsung ya, untuk menimbulkan kebiasaan yang baik.
@anangardhiansyah74025 күн бұрын
Punten kang, amatiran pengen tanya, gimana kalo ditable itu dibikin colom trainers relasi ke table lain??, jadi querynya ke table courses aja
@pawrfectoКүн бұрын
kalo masih 1 db saya selalu usahakan untuk pake join, tp kalo sudah mainan microservice trus butuh data reference dari service lain, ya pake yg ke 2, jadi nanti unique ids itu yg di kirim ke service terkait, nanti service terkait handle pakai where in apakah saya masih dijalan yg benar? wkwkw
@carrillorasyadsiswoyo96853 күн бұрын
pak mau tanya, di laravel controller yang saya miliki itu full query builder apakah berpengaruh untuk kecepatan aplikasi? dan data nya merupakan inject dari db, apakah ada solusi lain?
@kepomPong2816Күн бұрын
Strukturnya Inquery tapi pake join sama subquery
@imannurizza23343 күн бұрын
Mantap pak tapi bagaimana dengan case jika mengharuskan join lebih dari 5 tabel?
@lime_crow6 күн бұрын
waduh ilmu mahal nih, dulu saya juga sering bikin kaya gini dan biasanya saya bikin view sih kang. ternyata ini namanya wkwkwkwk
@riskiondrizal74637 күн бұрын
bagaimana jika kita pakai sub Query ? apakah itu sama saja atau lebih baik ?
@Like_crafthomade6 күн бұрын
Itu knp sy ngk pernah mau pkai orm, ribet, logikanya ngk dapet. Kyk ngerjain sesuatu tp ngk pk logika. Jauh lebih nyaman pk sql query, lsg to the point😊
@davidmuhamad35645 күн бұрын
@@Like_crafthomade ORM lebih cocok buat menerapkan clean code jadi biar kodenya bersih dan mudah di maintance tapi wajib memahami sql dulu sebelum query
@lugasluqmanhakim19337 күн бұрын
Kalau di laravel pakai "with". Kalau pengalaman saya, kalau tabel joinnya jarang/tidak berubah, contoh: agama, itu querynya saya cache.
@edricgalentino7 күн бұрын
mau tanya kang, maksudnya tabel joinnya jarang teh berarti jarang di join dengan tabel lain atau jarang di insert karna perubahan datanya sedikit?
@lugasluqmanhakim19337 күн бұрын
@edricgalentino contoh tabel agama. Isinya kan ya cuma2 itu aja, datanya mungkin berubah beberapa tahun sekali.
@SalmanAlfarisi-iy4jt7 күн бұрын
kalau pake function relasi di laravel kayak belongsto, hasmany dll itu juga ada kemungkinan kena n+1? apa mending pakai join aja buat dapat data relasi antar tabel??
@lugasluqmanhakim19337 күн бұрын
@@SalmanAlfarisi-iy4jt pakai with di awal. Ntar jadinya di query pakai where In.
@lukmanharun8906 күн бұрын
jangan lupa bulk insert, sama bulk delete harus di manfaatkan
@mohammadirmansyah99135 күн бұрын
Halah istilah kekinian tho, nek saya ngandalin tableview, kalo berat ya materialized view.
@jidanrahantan44687 күн бұрын
Kalo di go prepare dlu brrti ?
@MihanFamily6 күн бұрын
pake gorm jg bisa, pake fungsi preload atau joins.. yg preload itu mirip solusi ke-2 yg pake IN query
@RoniStudio6 күн бұрын
Eager loading dan join mungkin bisa jadi jawabannya?
@faizo12466 күн бұрын
terbaik
@nidzammuzakki29387 күн бұрын
In query bikin kebanyakan for di aplikasi gak pak eko?
@mochdikiwidianto2227 күн бұрын
Saya pake left join kak biasanya
@widibaka70587 күн бұрын
pakai limit 1 gimana pak?
@vaporizel4 күн бұрын
Yang jadi masalah begitu ditanya terms ginian ternyata ga tau namany, lantas dianggap interviewer ga bisa solve, padahal sebenarnya bisa
@hafiznugraha30636 күн бұрын
yang pake laravel eloquent relationships jangan lupa eager load
@Like_crafthomade6 күн бұрын
Eloquent bikin pusing...hehe. enakan sql lsg, setuju ngk?😊
@fazlmausoofh66686 күн бұрын
@@Like_crafthomade kalau setauku sql query malah gak di sarankan karna rawan, dia query mentah ke sql langsung ga kata eloquent
@SalmanAlfarisi-iy4jt6 күн бұрын
@@fazlmausoofh6668 terus juga udah otomatis mencegah sql injection juga seingetku, kalau sql biasa ada cara sendiri
@rainfog_mzb6 күн бұрын
@@Like_crafthomade Sebenarnya sih tergantung. Yaa, mungkin bisa berbeda sih. Ane pakai Eloquent malah lebih nyaman. Masalah N+1 query tinggal pakai "with()", atur relation di model, dan kelar. Intinya sih, ribet karena belum biasa. Yaa, ane justru belum biasa sql langsung, makanya ane pakai Eloquent.
@Like_crafthomade5 күн бұрын
@@rainfog_mzb Kl cuma update atau select table yg gampang2 sih, masih oke. Tp kl select data yg table byk dan kusut, sy nyerah pk eloquent. Ngk sanggup😅
@afdhaliapreto7703Күн бұрын
kalau saya ditanya n+1, waduh maaf sekali saya sudah melupakannya karena ada prisma 😅
@hafiizheko2306 күн бұрын
done
@UsniKatama7 күн бұрын
Kalo pake Store Procedure gimana pak?
@sbtsnseth6 күн бұрын
SP mah cmn fungsi yang isinya query jg, biar lebih mudah manggilnya di codenya dibanding harus ngetik select berkali" dan juga mudah di maintenance.
@herufredi96966 күн бұрын
@@sbtsnseth SP nya ditambahkan cursor dan di return json atau string dibuat 1 row makin lebih cepat lagi.
@sbtsnseth6 күн бұрын
@@herufredi9696 terima kasih atas masukannya pak, kalo boleh tau ada refrensinya kayak gmntuh bang biar bisa di pelajari lgi.
@arc82187 күн бұрын
Hmmmm baru tau ternyata join dkk ngefix problem n+1 😅 secara gk sadar krn emng sy gk tau n+1, tp emng aneh sih ngeloop sql, gk pernah kepikiran walaupun kepikir pun pasti lnsg tau bikin masalah, masih belum pernah ketemu org yg ngeloop sql gitu buat narik data 😂
@saluran17337 күн бұрын
Ada biasanya bersyarat (if) jadi dilakukan pemeriksaan dulu baru yg memenuhi syarat diquery lagi
@SalmanAlfarisi-iy4jt6 күн бұрын
@@saluran1733 saya pakai Laravel dan pas mau ambil data relasi antar tabel pakai belongsto dll, itu rawan kena n+1 pas mau nampilin data nya di looping
@coinima6 күн бұрын
Siapa yang pake belongAs ? 😅
@KhairulHidayat7 күн бұрын
Kalo relasi one-to-one, prefer yg JOIN query.. kalo one-to-many atau many-to-many baru yg IN query kalo saya 😅
@bumbum98315 күн бұрын
sebenernya N+1 itu bukan masalah spesifik ke masalah query sih, tapi penulisan algoritma secara dasar, gw cukup kaget karena kayanya jarang banget edukator indonesia yang ngebahas 'Big O' padahal ini fundamental sekali terhadap performa algoritma yang kita tulis, mungkin ini hanya anecdotal evidence aja ya tapi saya lihat jawaban" technical interview di perusahaan" yang saya pernah kerja itu rata" masih bayak yang make algoritma O(n log n) atau bahkann O(n^2) yang mana atau algoritma brute force (yang penting fuctionya Jalan)