Database
 sql >> Teknologi Basis Data >  >> RDS >> Database

5 kesalahan desain kueri SQL yang sangat umum untuk dihindari dengan cara apa pun

Untuk menjalankan database SQL Server dengan sukses, Anda harus tertarik pada desain kueri. Sayangnya, kebanyakan orang tidak memikirkan proses desainnya. Akibatnya, mereka membuat kesalahan sederhana yang, meskipun mudah dihindari, memiliki konsekuensi yang luas.

Sebagai permulaan, dengan kueri yang ditulis dengan buruk, Anda tidak dapat menjamin waktu pengambilan secepat kilat bagi pengguna. Server Anda juga akan terganggu oleh masalah sejak hari pertama. Dan di dunia digital saat ini, ini adalah kesalahan yang tidak dapat Anda lakukan. Tapi, bagaimana Anda menghindari membuat kesalahan ini? Berikut tips tentang cara melakukannya.

1. Gagal meninjau model data Anda

Model data Anda menentukan cara pengguna mengakses data. Jadi, pikirkan model Anda sejak awal. Jika tidak, Anda harus berurusan dengan kueri yang berat dan kode yang rumit, dan keduanya berdampak negatif pada kinerja. Cara mudah untuk mengetahui kueri mana yang diperlukan untuk mengakses data adalah dengan mencetak model data Anda.

Atau, lebih baik lagi, minta alat pemodelan data melakukannya untuk Anda. Alat cetak atau pemodelan memungkinkan Anda melihat apa yang Anda hadapi. Oleh karena itu, Anda berada dalam posisi yang lebih baik untuk menyederhanakan kode, meningkatkan waktu pengkodean, meningkatkan akurasi, dan meningkatkan kinerja.

2. Gagal mempertimbangkan teknik Anda

Teknik apa yang Anda gunakan? Apakah ini logika kursor, atau logika berbasis set? Tidak ada jawaban yang mudah untuk pertanyaan khusus ini:semuanya tergantung pada kinerja yang paling sesuai dengan kebutuhan Anda. Ambil logika berbasis set, misalnya. Ini adalah pilihan yang jelas untuk akses database. Bagaimanapun, SQL Server dirancang untuk itu. Namun, logika kursor dalam beberapa kasus dapat mengungguli logika berbasis. Kuncinya adalah tidak menggunakan satu teknik ketika yang lain akan lebih baik.

3. Tidak menggunakan teknik coding lama

Ketika Anda menggunakan teknik pengkodean yang telah dicoba dan diuji, Anda jarang mendapatkan masalah. Bahkan metode pengkodean yang Anda pelajari dari SQL Server 2005 terbukti berguna hari ini. Coba gunakan teknik penanganan kesalahan TRY…CATCH dalam pengkodean Anda. Hasilnya mungkin mengejutkan Anda. Menggunakan Ekspresi Tabel Umum untuk hierarki, atau mesin basis data Common Language Runtime (CLR) mungkin juga membuat Anda terkejut.

Jika Anda memerlukan bantuan untuk mempelajari teknik lama, lakukan beberapa revisi dan cari beberapa artikel online. Ada banyak di luar sana. Di sini dan di sini adalah beberapa contoh SQL.

4. Tidak memanfaatkan peer review

Sebelum menerapkan rencana kueri Anda, Anda harus meminta orang lain untuk meninjaunya. Kemungkinannya adalah orang lain akan melihat apa yang Anda lewatkan. Ulasan mereka tentang indeks dan kinerja kueri Anda sering membantu Anda untuk lebih meningkatkan kode Anda. Mereka juga bisa belajar satu atau dua hal dari Anda dalam prosesnya, dan sebaliknya.

5. Gagal menguji kueri Anda

Pengembang benci harus menguji kode. Pertama, ini ketat. Dan kedua, lingkungan pengujian (perangkat keras dan data) jarang cocok dengan lingkungan produksi yang sebenarnya. Tetapi pengujian adalah bagian pengkodean yang diperlukan, dan tidak dapat dihindari. Jadi, uji kode Anda secara menyeluruh, dan jika memungkinkan, cobalah untuk meniru lingkungan produksi akhir semirip mungkin. Ingat, kueri Anda mungkin berkinerja baik dengan beberapa ratus catatan, tetapi tidak terhadap jutaan di lingkungan akhir.

Kesimpulan

Kueri menentukan kecepatan dan kinerja database SQL. Jadi, cobalah untuk menghindari kesalahan umum seperti tidak meninjau model data Anda, atau gagal mempertimbangkan teknik mana yang akan digunakan. Lainnya gagal menggunakan teknik pengkodean lama, tidak memanfaatkan mekanisme peer review, dan gagal menguji kueri Anda.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 30 Pertanyaan Wawancara Kueri SQL Teratas yang Harus Anda Latih Pada 2022

  2. Model Data Transportasi Terintegrasi

  3. Mengganti Nama Basis Data Pluggable

  4. Pertanyaan Wawancara Insinyur Data Dengan Python

  5. Penyembunyian dan Pemetaan Data Inkremental:Mendeteksi Perubahan dan Memperbarui…