Bagikan melalui


Ringkasan fungsi jendela

Fungsi Jendela beroperasi pada beberapa baris (rekaman) dalam baris yang ditetapkan sekaligus. Tidak seperti fungsi agregasi, fungsi jendela mengharuskan baris dalam set baris diserialkan (memiliki urutan khusus). Fungsi Jendela mungkin bergantung pada urutan untuk menentukan hasilnya.

Fungsi jendela hanya dapat digunakan pada set yang diserialisasi. Cara termudah untuk membuat serial set baris adalah dengan menggunakan operator serialisasi. Operator ini "membekukan" urutan baris secara bebas. Jika urutan baris yang diserialisasi diperlukan secara semantik, gunakan operator pengurutan untuk memaksa urutan tertentu.

Proses serialisasi memiliki biaya yang tidak sepele yang terkait dengan hal tersebut. Misalnya, proses ini dapat mencegah paralelisme kueri dalam banyak skenario. Oleh karena itu, jangan terapkan serialisasi yang tidak diperlukan. Jika perlu, atur ulang kueri untuk melakukan serialisasi pada set baris sekecil mungkin.

Set baris yang diserialisasi

Set baris arbitrer (seperti tabel, atau output operator tabular) dapat diserialisasi dengan salah satu cara berikut:

  1. Dengan mengurutkan set baris. Lihat di bawah untuk daftar operator yang mengeluarkan set baris yang diurutkan.
  2. Dengan menggunakan operator serialisasi.

Banyak operator tabular membuat serialisasi output setiap kali input sudah diserialisasi, meskipun operator itu sendiri tidak menjamin bahwa hasilnya diserialisasi. Misalnya, properti ini dijamin untuk operator extend, operator project, dan operator where.

Operator yang mengeluarkan set baris yang diserialisasi dengan mengurutkan

Operator yang mempertahankan properti set baris yang diserialisasi