Apakah perbedaan akan memengaruhi kinerja?

Daftar Isi:

Apakah perbedaan akan memengaruhi kinerja?
Apakah perbedaan akan memengaruhi kinerja?

Video: Apakah perbedaan akan memengaruhi kinerja?

Video: Apakah perbedaan akan memengaruhi kinerja?
Video: Apakah Akreditasi Mempengaruhi Prospek kerja? 2024, November
Anonim

Ya, karena penggunaan DISTINCT akan (terkadang menurut komentar) menyebabkan hasil dipesan Mengurutkan ratusan record membutuhkan waktu. Coba GROUP BY semua kolom Anda, kadang-kadang dapat menyebabkan pengoptimal kueri untuk memilih algoritme yang lebih efisien (setidaknya dengan Oracle, saya melihat peningkatan kinerja yang signifikan).

Apakah buruk menggunakan perbedaan?

Nah, penggunaan "berbeda" yang tidak tepat tidak hanya menyembunyikan masalah sebenarnya (entri duplikat dalam tabel, kurangnya kondisi dalam klausa aktif) seperti yang dibahas di atas, tetapi juga menurunkan kinerja kueri… Ini akan membawa Biaya IO (pembacaan logis) dari kueri naik secara signifikan.

Apakah perbedaan membuat kueri lebih lambat?

Sangat sedikit kueri yang dapat bekerja lebih cepat dalam mode SELECT DISTINCT, dan sangat sedikit yang akan bekerja lebih lambat (tetapi tidak secara signifikan lebih lambat) dalam mode SELECT DISTINCT tetapi untuk kasus selanjutnya kemungkinan besar bahwa aplikasi mungkin perlu memeriksa kasus duplikat, yang menggeser beban kinerja dan kompleksitas ke aplikasi.

Apakah lebih baik menggunakan berbeda atau GROUP BY?

Di MySQL, DISTINCT tampaknya sedikit lebih cepat daripada GROUP BY jika Field tidak diindeks. DISTINCT hanya menghilangkan baris duplikat tetapi GROUP BY tampaknya mengurutkannya sebagai tambahan.

Mengapa kita tidak boleh menggunakan perbedaan dalam SQL?

Jika pilih yang berbeda ada untuk 'memperbaiki' masalah maka Anda cenderung mendapatkan kinerja yang buruk sebagai balasannya. GROUP BY memungkinkan Anda menggunakan fungsi agregat, seperti AVG, MAX, MIN, SUM, dan COUNT. DISTINCT hanya menghapus duplikat.

Direkomendasikan: