Saya mendasarkan sebagian besar ini pada hanya mencoba untuk mendapatkan jawaban yang "benar", sehingga Anda mungkin menemukan ada beberapa masalah kinerja. Tidak ada gunanya mempercepat permintaan yang salah.
Memahami hubungan tabel - Kebanyakan akan menjadi satu ke banyak. Ketahui tabel "banyak". Identifikasi bidang yang diperlukan untuk bergabung Anda.
Pikirkan tentang skenario bergabung LEFT - Pilih semua karyawan dan gaji mereka dari bulan lalu. Bagaimana jika mereka tidak menerima gaji bulan lalu?
Ketahui set hasil: 1) Dalam spreadsheet, masukkan secara manual setidaknya satu catatan yang benar untuk kueri Anda. 2) Tulis kueri dalam bentuk yang cukup sederhana untuk mengidentifikasi berapa banyak catatan yang harus dikembalikan. Gunakan keduanya untuk menguji kueri Anda untuk memastikan bergabung dengan tabel baru tidak mengubah hasil.
Pisahkan permintaan Anda menjadi beberapa bagian yang dapat dikelola - Anda tidak harus menulis semuanya sekaligus. Query yang kompleks terkadang hanya bisa menjadi kumpulan queries sederhana.
Waspadai tingkat agregasi campuran : Jika Anda harus memasukkan nilai bulanan, triwulanan, dan tahun-ke-tanggal dalam hasil yang sama, Anda harus menghitungnya secara terpisah dalam kueri yang dikelompokkan pada nilai yang berbeda.
Ketahui kapan harus UNION Terkadang lebih mudah untuk memecah subkelompok menjadi pernyataan pilihan mereka sendiri. Jika Anda memiliki tabel yang dicampur dengan manajer dan karyawan lain, dan pada setiap kolom Anda harus melakukan pernyataan Kasus berdasarkan keanggotaan di salah satu dari kelompok ini, mungkin lebih mudah untuk menulis kueri Manajer dan menyatukan ke kueri Karyawan. Masing-masing akan mengandung logikanya sendiri. Harus menyertakan item dari tabel yang berbeda di baris yang berbeda adalah penggunaan yang jelas.
Rumus Kompleks / Bertumpuk - Cobalah membuat indentasi secara konsisten dan jangan takut untuk menggunakan banyak baris. "KASUS KAPAN KASUS KASUS KAPAN" akan membuat Anda gila. Luangkan waktu untuk memikirkan semua ini. Simpan kalori kompleks untuk yang terakhir. Dapatkan catatan yang benar dipilih terlebih dahulu. Lalu, Anda menyerang rumus rumit yang mengetahui Anda bekerja dengan nilai yang benar. Melihat nilai yang digunakan dalam rumus akan membantu Anda melihat area di mana Anda harus memperhitungkan nilai NULL dan di mana menangani pembagian dengan kesalahan nol.
Tes sesering mungkin saat Anda menambahkan tabel baru untuk memastikan Anda masih mendapatkan hasil yang diinginkan dan mengetahui yang bergabung atau klausa adalah penyebabnya.