Cermati Hubungan LEFT JOIN dan INDEX pada SQL
Konsep SQL JOIN adalah keterampilan yang harus dimiliki. Setiap pengembang harus dapat menggunakannya dalam kasus penggunaan yang berbeda dengan kinerja terbaik. Tutorial ini mengungkapkan perbedaan antara Inner Join dan Outer Join (Left Outer Join dan Right Outer Join) dalam situasi praktis. Kebingungan dan pencampuran antara konsep-konsep akan dibersihkan saat kita melanjutkan. Bagian teoritis akan diminimalkan mungkin.
Database RDBMS menyediakan cara yang bagus untuk menyimpan data dalam beberapa tabel di mana setiap tabel bertanggung jawab untuk menyimpan satu aspek (bagian) dari data. Ini memastikan konsistensi data dan mengurangi redundansi data karena setiap bagian data hanya disimpan sekali. Selain konsep JOIN konsep lain yang sangat diperlukan adalah konsep INDEXING
Dapatkah Sahabat DQ membayangkan mencari nomor telepon yang ditulis dalam buku tanpa indeks telepon? Mengerikan! Indeks Basis Data digunakan dengan cara yang sama. Misalnya, jika kita ingin mendapatkan karyawan dan departemen terkait, kita perlu mendapatkan setiap nomor DepartmentID di Tabel Karyawan dan mencarinya di Tabel Departemen.
Bagaimana jika tabel departemen sangat besar? Kita perlu membacanya dan mencari semuanya untuk setiap karyawan! Untuk kueri yang sangat sederhana seperti ini, operasi komputasi tinggi dianggap sebagai kegagalan besar untuk desain basis data apa pun dan awal dari krisis. Untungnya, indeks datang untuk menyelamatkan!
Indeks meningkatkan kinerja secara signifikan untuk kueri pencarian dan JOIN seperti yang akan kami tunjukkan dalam hasil praktis, tetapi ini disertai dengan biaya peningkatan waktu modifikasi basis data (menyisipkan, menghapus, dan beberapa operasi pembaruan), namun, peningkatan ini dapat diabaikan di sebagian besar kasus kecuali jenis operasi ini terjadi secara ekstensif.
Yuk pahami kedua konsep tersebut lebih terperinci!
1. Konsep LEFT JOIN
SQL LEFT JOIN mengembalikan semua baris dari tabel kiri, bahkan jika tidak ada kecocokan di tabel kanan. Ini berarti bahwa jika klausa ON cocok dengan 0 (nol) record di tabel kanan; gabungan masih akan mengembalikan satu baris dalam hasil, tetapi dengan NULL di setiap kolom dari tabel kanan.Ini berarti bahwa gabungan kiri mengembalikan semua nilai dari tabel kiri, ditambah nilai yang cocok dari tabel kanan atau NULL jika tidak ada predikat gabungan yang cocok.
Baca juga : Saatnya Belajar SQL, Kenali Rekomendasi Query SQL Bagi Pemula
2. Keuntungan dan Kekurangan JOIN
Keuntungan utama JOIN adalah eksekusinya lebih cepat. Peningkatan kinerja mungkin tidak terlihat oleh pengguna akhir. Namun, karena kolom secara khusus diberi nama dan diindeks dan dioptimalkan oleh mesin database, waktu pengambilan hampir selalu akan lebih cepat daripada subquery.
Ada juga JOIN dalam atau INNER dan luar atau OUTER, JOIN kiri atau RIGHT dan kanan atau LEFT, JOIN penuh atau FULL, dan JOIN silang atau CROSS. Kerugian menggunakan join adalah tidak mudah dibaca seperti subquery. Kerugian lainnya adalah dapat membingungkan join mana yang merupakan tipe join yang tepat untuk digunakan untuk menghasilkan kumpulan hasil yang diinginkan dengan benar.
3. INDEXING pada SQL
Indeks adalah tabel pencarian khusus yang dapat digunakan mesin pencari basis data untuk mempercepat pengambilan data. Sederhananya, indeks adalah penunjuk ke data dalam tabel. Indeks dalam database sangat mirip dengan indeks di bagian belakang buku.
Misalnya, jika Sahabat DQ ingin merujuk semua halaman dalam buku yang membahas topik tertentu, pertama-tama Sahabat DQ merujuk ke indeks, yang mencantumkan semua topik menurut abjad dan kemudian dirujuk ke satu atau beberapa nomor halaman tertentu.
Indeks membantu mempercepat kueri SELECT dan klausa WHERE, tetapi memperlambat input data, dengan pernyataan UPDATE dan INSERT. Indeks dapat dibuat atau dijatuhkan tanpa mempengaruhi data.
Membuat indeks melibatkan pernyataan CREATE INDEX, yang memungkinkan Sahabat DQ untuk memberi nama indeks, untuk menentukan tabel dan kolom atau kolom mana yang akan diindeks, dan untuk menunjukkan apakah indeks dalam urutan menaik atau menurun.
Indeks juga bisa unik, seperti batasan UNIQUE, di mana indeks mencegah entri duplikat di kolom atau kombinasi kolom di mana ada indeks.
4. Keuntungan dan Kelemahan INDEXING SQL
Keuntungan
Percepat kueri SELECT
Membantu membuat baris menjadi unik atau tanpa duplikat (utama, unik)
Jika indeks diatur ke indeks isi-teks, maka kita dapat mencari terhadap nilai string yang besar. misalnya untuk menemukan kata dari sebuah kalimat dll.
Kekurangan
Indeks mengambil ruang disk tambahan.
indeks memperlambat INSERT, UPDATE dan DELETE, tetapi akan mempercepat UPDATE jika kondisi WHERE memiliki bidang yang diindeks. INSERT, UPDATE dan DELETE menjadi lebih lambat karena pada setiap operasi indeks juga harus diperbarui.
Baca juga : Catat! Ini 3 Keuntungan Belajar SQL dalam Mengolah Data
Mau praktek langsung anti ribet dan bikin portfolio? Yuk mulai perdalam kompetensi SQL bersama DQLab dan bangun portfolio data Sahabat DQ sekarang!
Signup di DQLab.id atau isi form dibawah ini untuk mulai belajar data bersama DQLab. Goodluck Sahabat DQ!