Membongkar rasa tidak masuk akal dari kursor: Dilema Cassens
Walaupun difahami untuk memilih operasi pengumpulan yang lebih efisien dan bukannya label dalam operasi pangkalan data hubungan, adalah layak untuk perbincangan lanjut mengenai keengganan yang melampau ke kursor. Kebencian yang tidak rasional ini sering membawa kepada langkah -langkah yang berlebihan untuk mengelakkan penggunaan kursor, yang menyebabkan banyak soalan.
Dilema Perbelanjaan
"Perbelanjaan" yang berkaitan dengan kursor hanyalah ciri -ciri yang wujud dalam API Sistem Pengurusan Pangkalan Data Hubungan (RDBMS). Kursor adalah asas untuk operasi pelbagai komponen dalaman RDBMS. Walau bagaimanapun, pengendali berasaskan koleksi (menggabungkan hasil kursor ke satu set) dapat mengurangkan bolak -balik API.
Keterbatasan koleksi
Kursor muncul lebih awal daripada bahasa dengan jenis koleksi pertama. Oleh kerana kekurangan koleksi sedemikian, bahasa yang selebihnya diproses pada satu masa. Bahasa moden mengatasi had ini dan menyediakan fungsi menetapkan hasilnya sebagai koleksi untuk rawatan lancar. Sindrom Kelajuan Perlahan
Penyalahgunaan kursor, terutamanya dalam kitaran bersarang, akan memburukkan lagi masalah prestasi. Kesalahpahaman sambungan hubungan boleh menyebabkan kitaran bersarang yang tidak cekap dan bukannya sambungan mudah, yang menjadikan kelajuan operasi tidak dapat diterima. Walau bagaimanapun, ia bukan kursor itu sendiri, tetapi penggunaan masalah prestasi yang tidak betul.
penolakan skala
Untuk sejumlah besar set hasil (seperti set hasil yang ditemui semasa tempoh penyimpanan), kempen masih penting, kerana penetapan set adalah sukar untuk meletakkan set data yang besar dalam ingatan.
kaedah alternatif Lapisan Peta Hubungan Objek (ORM) menyediakan penyelesaian yang boleh dilaksanakan yang dapat melindungi pemaju dari kerumitan pengurusan kursor dan SQL berasingan dari kod aplikasi. Kaedah ini mengurangkan beban pengekodan yang berkaitan dengan kursor tanpa mengorbankan prestasi.
Kesimpulan
kursor itu sendiri tidak jahat dan tidak boleh menggantikan hubungan hubungan, tetapi ada yang tidak rasional menjijikkan kempen, yang sering membawa kepada penghindaran yang tidak perlu. Memahami peranan kursor dalam seni bina RDBMS dan batasan operasi berasaskan pengumpulan membantu menghapuskan ketakutan ini dan membolehkan pemaju menggunakan kursor dengan berkesan apabila perlu.
Atas ialah kandungan terperinci Mengapa Kursor Tidak Wajar Benci?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!