PROMO SPESIAL 12.12
Belajar Data Science Bersertifikat, 6 Bulan hanya 120K!
1 Hari 14 Jam 35 Menit 51 Detik

Mengapa Perlu Hindari Penggunaan SELECT* di Query SQL

Belajar Data Science di Rumah 19-November-2024
https://dqlab.id/files/dqlab/cache/kv-2-banner-longtail-selasa-06-2024-11-19-211010_x_Thumbnail800.jpg

Di dunia pemrograman basis data seperti SQL, terkadang kita tergoda untuk menggunakan perintah sederhana SELECT * ketika ingin mengambil data dari sebuah tabel. Ini memang terlihat praktis, terutama ketika kita sedang terburu-buru dan ingin segera melihat hasil dari semua data yang tersedia.


Dengan hanya mengetik SELECT * FROM nama_tabel pada SQL, semua kolom langsung muncul di hadapan kita—mudah, cepat, tanpa perlu repot menentukan kolom satu per satu. Namun, meski nampak seperti jalan pintas yang menghemat waktu, sebenarnya ada lima alasan penting mengapa penggunaan SELECT * sebaiknya dihindari dalam query SQL, terutama ketika bekerja pada lingkungan produksi yang memerlukan performa optimal. Ingin tahu alasannya? Simak yuk!


1. Mengambil Data yang Tidak Diperlukan

Bayangkan kamu sedang berada di restoran dan memesan "semua menu" hanya karena tidak ingin memilih makanan secara spesifik. Hasilnya, kamu mungkin akan mendapatkan banyak hidangan yang tidak dirimu inginkan dan tidak akan mungkin bakal makan.


Hal yang sama terjadi ketika menggunakan SELECT * pada query SQL. Perintah ini akan mengambil semua kolom dari sebuah tabel, termasuk kolom yang tidak kamu butuhkan. Jika tabel tersebut memiliki banyak kolom atau berisi tipe data besar seperti BLOB (Binary Large Object) atau text, maka volume data yang ditransfer ke sistem yang jauh lebih besar dari yang diperlukan.


Akibatnya, penggunaan SELECT * meningkatkan beban lalu lintas jaringan dan memperlambat waktu eksekusi query. Jika kamu hanya memerlukan dua atau tiga kolom, mengapa harus menarik puluhan kolom yang tidak relevan? Mengambil data yang tidak diperlukan hanya akan menyedot sumber daya, memperpanjang waktu respon, dan menambah beban server.


Baca juga : Bootcamp Data Analyst with SQL and Python


2. Dampak pada Kinerja Query

Ketika kamu menarik lebih banyak data dari yang diperlukan, efek domino pada kinerja sistem mulai terasa. Terutama pada tabel yang besar, penggunaan SELECT * dapat menyebabkan peningkatan aktivitas disk I/O, penggunaan memori, dan CPU.


Semua ini memperlambat query secara keseluruhan. Sebaliknya, jika kamu secara eksplisit menyebutkan kolom yang ingin diambil, kamu hanya akan mendapatkan data yang diperlukan dan dapat memaksimalkan efisiensi sistem.


Pada lingkungan produksi di mana performa sangat penting, setiap milidetik berarti. Query yang tidak efisien bisa menjadi mimpi buruk bagi tim pengembangan, terutama ketika basis data harus melayani ribuan atau bahkan jutaan permintaan pengguna per hari.


3. Kesulitan dalam Pemeliharaan dan Perubahan di Masa Depan

Mari kita berpikir sejenak mengenai pemeliharaan sistem. Ketika kamu menggunakan SELECT *, tentu saja kamu membuat kode yang rapuh dan rentan terhadap perubahan. Misalnya, jika struktur tabel berubah misalnya, ada kolom baru yang ditambahkan atau kolom lama dihapus maka query yang menggunakan SELECT * berisiko mengalami kegagalan. Lebih buruk lagi, kegagalan ini mungkin tidak terdeteksi hingga berada di lingkungan produksi.


Sebaliknya, dengan menyebutkan kolom secara eksplisit, kamu dapat mengontrol query dengan lebih baik. Ketika ada perubahan pada tabel, pengguna hanya perlu memperbarui query tersebut sesuai dengan kolom yang benar-benar diperlukan, tanpa perlu khawatir akan hal-hal yang tak terduga.


4. Hambatan pada Optimalisasi Query

Optimasi adalah seni di balik performa query yang optimal. Ketika menggunakan SELECT *, SQL optimizer, alat yang bertugas memutuskan cara terbaik untuk menjalankan query kamu terbatas dalam menentukan rute terbaik untuk mengambil data. Hal ini karena optimizer tidak tahu persis kolom mana yang benar-benar diperlukan oleh query.


Sebaliknya, dengan menyebutkan kolom secara spesifik, optimizer dapat memanfaatkan index dan jalur akses terbaik untuk mempercepat eksekusi query. seorang database admin membantu sistem untuk lebih memahami kebutuhanmu, yang pada akhirnya meningkatkan kinerja secara signifikan.


Baca juga : Catat! Ini 3 Keuntungan Belajar SQL dalam Mengolah Data


5. Meningkatkan Kejelasan dan Keterbacaan Kode

Sebagai seorang pengembang atau analis data, kamu pasti pernah membaca kode yang ditulis oleh orang lain (atau mungkin kode lama yang ditulis oleh kamu sendiri). Query yang menggunakan SELECT * seringkali membingungkan, terutama jika tabel tersebut memiliki puluhan kolom. Sulit untuk langsung memahami kolom apa saja yang digunakan oleh aplikasi, sehingga menyulitkan proses debugging atau pemahaman kode.


Dengan menyebutkan kolom secara eksplisit, kamu membuat query yang lebih jelas dan lebih mudah dipahami. Ini tidak hanya bermanfaat bagi diri sendiri, tetapi juga bagi tim yang mungkin akan bekerja dengan kode yang kamu buat di masa depan. Kode yang lebih mudah dibaca berarti kolaborasi yang lebih baik dan pemeliharaan yang lebih efisien.


Menggunakan SELECT * memang terlihat sederhana dan cepat pada awalnya, tetapi efek samping jangka panjangnya tidak sebanding dengan kemudahannya. Ketika kamu mengutamakan performa, efisiensi, dan keberlanjutan kode, sebaiknya hindari kebiasaan ini.


Sebagai gantinya, biasakan untuk menyebutkan kolom yang benar-benar diperlukan dalam query. Dengan cara ini, kamu tidak hanya meningkatkan performa, tetapi juga membuat sistem lebih mudah dikelola dan lebih tahan terhadap perubahan di masa depan.


Jadi, lain kali ketika tergoda untuk menggunakan SELECT *, ingatlah bahwa sedikit usaha ekstra dalam menuliskan kolom yang spesifik dapat menyelamatkanmu dari masalah besar di kemudian hari.


Yuk pelajari berbagai klausa pada script SQL bersama DQLab! DQLab adalah platform edukasi pertama yang mengintegrasi fitur ChatGPT yang memudahkan beginner untuk mengakses informasi mengenai data science secara lebih mendalam.


DQLab juga menggunakan metode HERO yaitu Hands-On, Experiential Learning & Outcome-based, yang dirancang ramah untuk pemula. Jadi sangat cocok untuk kamu yang belum mengenal data science sama sekali, atau ikuti Bootcamp Data Analyst with SQL and Python.


Penulis: Reyvan Maulid


Mulai Karier
sebagai Praktisi
Data Bersama
DQLab

Daftar sekarang dan ambil langkah
pertamamu untuk mengenal
Data Science.

Buat Akun


Atau

Sudah punya akun? Login