Mengapakah bacaan logik untuk fungsi agregat bertingkap begitu tinggi?
Fungsi agregat bertingkap boleh menghasilkan bacaan logik tinggi dilaporkan dalam pelan pelaksanaan dengan biasa kili subungkapan, terutamanya untuk meja besar. Artikel ini bertujuan untuk menerangkan sebab di sebalik pemerhatian ini dan memberikan pandangan untuk memahami kiraan bacaan logik untuk jadual kerja.
Penjelasan
Bacaan logik dikira secara berbeza untuk jadual kerja berbanding dengan konvensional meja kili. Dalam jadual kerja, setiap baris bacaan diterjemahkan kepada satu "bacaan logik." Ini tidak seperti pelaporan halaman cincang untuk jadual kili "sebenar".
Rasional untuk mengira bacaan dengan cara ini ialah ia menyediakan maklumat yang lebih bermakna untuk analisis. Menjejak halaman cincang untuk jadual kerja kurang berguna disebabkan sifat dalaman struktur ini. Baris pelaporan yang digabungkan dengan lebih baik menggambarkan penggunaan sebenar sumber tempdb.
Penerbitan Formula
Formula yang diperoleh untuk meramalkan bacaan logik jadual kerja ialah:
Worktable logical reads = 1 + (NumberOfRows * 2) + (NumberOfGroups * 4)
Formula ini menyumbang kepada berikut:
Pancaran Barisan Kili Utama
Kili primer, ditugaskan untuk mengumpul baris dan melaksanakan pengiraan agregat, beroperasi seperti berikut:
Pertimbangan Tambahan
Dalam skrip ujian anda, anda mendapati bahawa mereplikasi proses yang sama menghasilkan bacaan logik yang lebih sedikit (11). Percanggahan ini dikaitkan dengan mengoptimumkan algoritma yang digunakan oleh pemproses pertanyaan dalam persekitaran yang berbeza. Formula kekal sah dalam kes umum apabila gelung bersarang atau cantuman cincang digunakan.
Kesimpulan
Memahami perbezaan pengiraan untuk bacaan logik dalam jadual kerja adalah penting untuk mentafsir pelan pelaksanaan dengan tepat yang melibatkan fungsi agregat bertingkap. Formula yang disediakan menawarkan cara yang berguna untuk menganggarkan bacaan logik jadual kerja, membantu dalam analisis prestasi dan usaha pengoptimuman.
Atas ialah kandungan terperinci Mengapakah bacaan logik begitu tinggi apabila menggunakan fungsi agregat bertingkap, terutamanya dengan kili subungkapan biasa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!