Penafian: Semua yang di bawah ini hanyalah anekdot dan diambil langsung dari pengalaman pribadi saya. Siapa pun yang ingin melakukan analisis yang lebih teliti secara empiris dipersilakan untuk melaksanakannya dan tidak memilih jika saya. Saya juga menyadari bahwa SQL adalah bahasa deklaratif dan Anda tidak harus mempertimbangkan BAGAIMANA kode Anda diproses saat Anda menulisnya, tetapi, karena saya menghargai waktu saya, saya lakukan.
Ada pernyataan ekuivalen logis tak hingga, tapi saya akan mempertimbangkan tiga (ish).
Kasus 1: Dua Perbandingan dalam urutan standar (Urutan evaluasi diperbaiki)
A> = MinBound DAN A <= MaxBound
Kasus 2: Gula sintaksis (Urutan evaluasi tidak dipilih oleh penulis)
ANTARA MinBound DAN MaxBound
Kasus 3: Dua Perbandingan dalam urutan terpelajar (Urutan evaluasi dipilih pada waktu penulisan)
A> = MinBound DAN A <= MaxBound
Atau
A <= MaxBound DAN A> = MinBound
Dalam pengalaman saya, Kasus 1 dan Kasus 2 tidak memiliki perbedaan kinerja yang konsisten atau mencolok karena mereka tidak mengetahui kumpulan data.
Namun, Kasus 3 dapat sangat meningkatkan waktu eksekusi. Secara khusus, jika Anda bekerja dengan kumpulan data yang besar dan kebetulan memiliki pengetahuan heuristik tentang apakah A lebih cenderung lebih besar dari MaxBound atau lebih kecil dari MinBound, Anda dapat meningkatkan waktu eksekusi secara nyata dengan menggunakan Kasus 3 dan mengurutkan perbandingan demikian.
Satu kasus penggunaan yang saya miliki adalah menanyakan kumpulan data historis besar dengan tanggal yang tidak diindeks untuk catatan dalam interval tertentu. Saat menulis kueri, saya akan memiliki gagasan yang baik tentang apakah ada lebih banyak data SEBELUM interval yang ditentukan atau SETELAH interval yang ditentukan dan dapat memesan perbandingan saya sesuai. Saya telah memotong waktu eksekusi hingga setengahnya tergantung pada ukuran kumpulan data, kompleksitas kueri, dan jumlah catatan yang difilter oleh perbandingan pertama.