Referensi operator showplan logis dan fisik

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Operator menjelaskan cara SQL Server menjalankan kueri atau pernyataan Bahasa Manipulasi Data (DML). Pengoptimal kueri menggunakan operator untuk membuat rencana kueri untuk membuat hasil yang ditentukan dalam kueri, atau untuk melakukan operasi yang ditentukan dalam pernyataan DML. Rencana kueri adalah pohon yang terdiri dari operator fisik. Anda dapat menampilkan rencana kueri dengan menggunakan SET SHOWPLAN pernyataan, opsi rencana eksekusi grafis di SQL Server Management Studio, atau peristiwa showplan Extended Events.

Operator diklasifikasikan sebagai operator logis dan fisik.

Operator logis

Operator logis menjelaskan operasi aljabar relasional yang digunakan untuk memproses pernyataan. Dengan kata lain, operator logis menjelaskan secara konseptual operasi apa yang perlu dilakukan.

Operator fisik

Operator fisik menerapkan operasi yang dijelaskan oleh operator logis. Setiap operator fisik adalah objek atau rutinitas yang melakukan operasi. Misalnya, beberapa operator fisik mengakses kolom atau baris dari tabel, indeks, atau tampilan. Operator fisik lainnya melakukan operasi seperti perhitungan, agregasi, pemeriksaan integritas data, atau gabungan. Operator fisik memiliki biaya yang terkait dengannya.

Operator fisik menginisialisasi, mengumpulkan data, dan menutup. Secara khusus, operator fisik dapat menjawab tiga panggilan metode berikut:

  • Open(): Metode ini Open() menyebabkan operator fisik menginisialisasi dirinya sendiri dan menyiapkan struktur data yang diperlukan. Meskipun operator fisik mungkin menerima banyak Open() panggilan, biasanya hanya menerima satu panggilan.

  • GetRow(): Metode ini GetRow() menyebabkan operator fisik mendapatkan baris data pertama, atau berikutnya. Operator fisik mungkin menerima nol atau banyak GetRow() panggilan.

  • Close(): Metode ini Close() menyebabkan operator fisik melakukan beberapa operasi pembersihan dan mematikan dirinya sendiri. Operator fisik hanya menerima satu Close() panggilan, tetapi Close() panggilan tidak selalu dijamin.

Metode mengembalikan GetRow() satu baris data, dan berapa kali disebut muncul sebagai ActualRows dalam output showplan yang dihasilkan oleh showplan grafis dan XML. Untuk informasi selengkapnya tentang opsi ini SET , lihat MENGATUR PROFIL STATISTIK (Transact-SQL) dan MENGATUR STATISTIK XML (Transact-SQL).

Jumlah ActualRebinds dan ActualRewinds yang muncul dalam output showplan mengacu pada berapa kali metode dipanggil Open() . Kecuali operator berada di sisi dalam gabungan perulangan berlapis, ActualRebinds sama dengan satu, dan ActualRewinds sama dengan nol. Jika operator berada di sisi dalam gabungan perulangan, jumlah total pengikatan ulang dan putar balik harus sama dengan jumlah baris yang diproses di sisi luar gabungan. Pengikatan ulang berarti bahwa satu atau beberapa parameter yang berkorelasi dari gabungan berubah dan sisi dalam harus dievaluasi ulang. Rewind berarti bahwa tidak ada parameter yang berkorelasi berubah dan tataan hasil dalam sebelumnya mungkin digunakan kembali.

ActualRebinds dan ActualRewinds ada dalam output showplan XML yang diproduksi dengan menggunakan SET STATISTICS XML ON dan showplan grafis. Mereka hanya diisi untuk operator Spool Indeks Nonclustered, Kueri Jarak Jauh, Penjatahan Jumlah Baris, Urutkan, Penahan Tabel, dan Fungsi bernilai tabel. ActualRebinds dan ActualRewinds mungkin juga diisi untuk operator Assert dan Filter saat atribut StartupExpression diatur ke TRUE.

Ketika ActualRebinds dan ActualRewinds ada dalam showplan XML, mereka sebanding dengan EstimateRebinds dan EstimateRewinds. Saat tidak ada, perkiraan jumlah baris (EstimateRows) sebanding dengan jumlah baris aktual (ActualRows). Output showplan grafis aktual menampilkan nol untuk pengikatan ulang aktual dan putar balik aktual saat tidak ada.

Penghitung terkait, ActualEndOfScans, tersedia di XML dan showplan grafis. Setiap kali operator fisik mencapai akhir aliran datanya, penghitung ini bertambah satu per satu. Operator fisik dapat mencapai akhir aliran datanya nol, satu, atau beberapa kali. Seperti halnya pengikatan ulang dan putar balik, akhir jumlah pemindaian bisa lebih dari satu, hanya jika operator berada di sisi dalam gabungan perulangan. Akhir jumlah pemindaian harus kurang dari atau sama dengan jumlah jumlah pengikatan ulang dan putar balik.

Memetakan operator fisik dan logis

Pengoptimal Kueri membuat rencana kueri sebagai pohon yang terdiri dari operator logis. Setelah pengoptimal kueri membuat rencana, Pengoptimal Kueri memilih operator fisik yang paling efisien untuk setiap operator logis. Pengoptimal kueri menggunakan pendekatan berbasis biaya untuk menentukan operator fisik mana yang menerapkan operator logis.

Biasanya, operasi logis dapat diimplementasikan oleh beberapa operator fisik. Namun, dalam kasus yang jarang terjadi, operator fisik juga dapat menerapkan beberapa operasi logis.

Eksekusi mode batch

Eksekusi mode batch adalah metode pemrosesan kueri yang digunakan untuk memproses beberapa baris bersama-sama (karenanya istilah batch) daripada satu baris pada satu waktu. Pemrosesan mode batch menggunakan algoritma yang dioptimalkan untuk CPU multi-inti dan peningkatan throughput memori pada perangkat keras modern. Mode batch dapat digunakan oleh sekumpulan operator untuk objek rowstore dan columnstore. Untuk informasi selengkapnya, lihat Panduan arsitektur pemrosesan kueri.

Deskripsi operator

Bagian ini berisi deskripsi operator logis dan fisik. Anda bisa menampilkan properti paket dan operator kueri menggunakan panel Properti di tampilan Rencana Kueri SQL Server Management Studio (SSMS) dan Azure Data Studio.

Tip

Setiap kali ikon rencana eksekusi grafis tertentu memiliki lingkaran kuning dengan dua panah kanan-ke-kiri, itu berarti operator dijalankan secara paralel. Untuk informasi selengkapnya tentang paralelisme, lihat Panduan Arsitektur Utas dan Tugas.

Icon Operator showplan Deskripsi
Gabungan Adaptif Operator Gabungan Adaptif memungkinkan pilihan gabungan hash atau metode gabungan perulangan berlapis untuk ditangguhkan hingga setelah input pertama dipindai.

Adaptive Join adalah operator fisik. Untuk informasi selengkapnya, lihat Memahami gabungan Adaptif.
Aggregat Operator Agregat menghitung ekspresi yang berisi MIN, , MAX, SUMCOUNT, atau AVG.

Agregat adalah operator logis dan fisik.
Ekspresi Aritmatika Operator Ekspresi Aritmatika menghitung nilai baru dari nilai yang ada secara berturut-turut. Ekspresi Aritmatika tidak digunakan dalam versi SQL Server yang lebih baru.
Penegasan Operator Assert memverifikasi kondisi. Misalnya, ini memvalidasi integritas referensial atau memastikan bahwa subkueri skalar mengembalikan satu baris. Untuk setiap baris input, operator Assert mengevaluasi ekspresi di panel Properti dari rencana eksekusi. Jika ekspresi ini mengevaluasi ke NULL, baris diteruskan melalui operator Assert dan eksekusi kueri berlanjut . Jika ekspresi ini mengevaluasi ke nilai non-null, kesalahan yang sesuai akan dimunculkan.

Assert adalah operator fisik.
Tetapkan Operator Tetapkan menetapkan nilai ekspresi atau konstanta ke variabel.

Tetapkan adalah elemen bahasa.
Tidak Asinkron Concat Operator Async Concat hanya digunakan dalam kueri jarak jauh (kueri terdistribusi). Ini memiliki n anak dan satu simpul induk. Biasanya, beberapa anak adalah komputer jarak jauh yang berpartisipasi dalam kueri terdistribusi. Asinkron Concat mengeluarkan Open() panggilan ke semua anak secara bersamaan dan kemudian menerapkan bitmap untuk setiap anak. Untuk setiap bit yang merupakan 1, Async Concat mengirimkan baris output ke simpul induk sesuai permintaan.
Bitmap SQL Server menggunakan operator Bitmap untuk menerapkan pemfilteran bitmap dalam rencana kueri paralel. Pemfilteran bitmap mempercepat eksekusi kueri dengan menghilangkan baris dengan nilai kunci yang tidak dapat menghasilkan rekaman gabungan apa pun sebelum meneruskan baris melalui operator lain seperti operator Paralelisme . Filter bitmap menggunakan representasi ringkas dari sekumpulan nilai dari tabel di satu bagian pohon operator untuk memfilter baris dari tabel kedua di bagian lain pohon. Dengan menghapus baris yang tidak perlu di awal kueri, operator berikutnya memiliki lebih sedikit baris untuk dikerjakan, dan performa kueri secara keseluruhan meningkat. Pengoptimal menentukan kapan bitmap cukup selektif untuk berguna dan operator mana yang akan menerapkan filter.

Bitmap adalah operator fisik.
Buat Bitmap Operator Buat Bitmap muncul di output showplan tempat bitmap dibangun.

Bitmap Create adalah operator logis.
Tidak Partisi Ulang Cabang Dalam rencana kueri paralel, terkadang ada wilayah konseptual iterator. Semua iterator dalam wilayah tersebut dapat dijalankan oleh utas paralel. Wilayah itu sendiri harus dijalankan secara serial. Beberapa iterator Paralelisme dalam wilayah individual disebut Partisi Ulang Cabang. Iterator Paralelisme pada batas dua wilayah tersebut disebut Partisi Ulang Segmen.

Partisi Ulang Cabang dan Partisi Ulang Segmen adalah operator logis.
Siaran Siaran memiliki satu simpul anak dan node induk n . Siaran mengirimkan baris inputnya ke beberapa konsumen sesuai permintaan. Setiap konsumen mendapatkan semua baris. Misalnya, jika semua konsumen adalah sisi build dari gabungan hash, maka n salinan tabel hash dibangun.
Bangun Hash Menunjukkan build tabel hash batch untuk indeks penyimpan kolom memori yang dioptimalkan.

Berlaku untuk: SQL Server 2012 (11.x) saja.
Penghapusan Indeks Berkluster Operator Penghapusan Indeks Berkluster menghapus baris dari indeks berkluster yang ditentukan dalam properti Objek , yang tercantum di panel Properti dari showplan grafis dan XML. Jika SeekPredicate atau Predicate ada, maka hanya baris yang memenuhi predikat yang dihapus.

Catatan: Perubahan pada indeks berkluster dapat memengaruhi indeks non-kluster.

Penghapusan Indeks Berkluster adalah operator fisik.
Sisipkan Indeks Berkluster Operator Sisipkan Indeks Berkluster menyisipkan baris dari inputnya ke dalam indeks berkluster yang ditentukan dalam properti Objek , yang tercantum di panel Properti dari showplans grafis dan XML. Showplan XML menyertakan properti SetPredicate dan ColumnReference , yang dapat digunakan untuk menentukan nilai tempat setiap kolom diatur. Jika Sisipkan Indeks Berkluster tidak memiliki turunan untuk menyisipkan nilai, baris yang disisipkan diambil dari operator Sisipkan itu sendiri.

Catatan: Perubahan pada indeks berkluster dapat memengaruhi indeks non-kluster.

Sisipan Indeks Berkluster adalah operator fisik.
Penggabungan Indeks Berkluster Operator Penggabungan Indeks Terkluster menerapkan aliran data gabungan ke indeks berkluster. Operator menghapus, memperbarui, atau menyisipkan baris dari indeks berkluster yang ditentukan dalam properti Objek , yang tercantum di panel Properti dari showplans grafis dan XML. Operasi aktual yang dilakukan tergantung pada nilai runtime properti ActionColumn .

Catatan: Perubahan pada indeks berkluster dapat memengaruhi indeks non-kluster.

Penggabungan Indeks Berkluster adalah operator fisik.
Pemindaian Indeks Berkluster Operator Pemindaian Indeks Berkluster memindai indeks berkluster yang ditentukan dalam properti Objek , yang tercantum di panel Properti dari showplan grafis dan XML. Saat Predikat opsional ada, hanya baris yang memenuhi predikat yang dikembalikan. Jika properti Diurutkan di panel Properti atau xml showplan adalah True, prosesor kueri telah menentukan bahwa baris harus dikembalikan dalam urutan di mana indeks berkluster telah mengurutkannya. Jika properti Yang Diurutkan adalah False, Mesin Database memindai indeks dengan cara yang optimal, tanpa harus mengurutkan output.

Pemindaian Indeks Berkluster adalah operator logis dan fisik.
Pencarian Indeks Berkluster Operator Pencarian Indeks Terkluster menggunakan kemampuan mencari indeks untuk mengambil baris dari indeks berkluster. Properti Objek, yang tercantum di panel Properti dari showplan grafis dan XML, berisi nama indeks berkluster yang sedang digunakan. SeekPredicate berisi predikat untuk pencarian. Mesin Database menggunakan indeks untuk memproses hanya baris yang memenuhi SeekPredicate. Ini juga dapat mencakup properti Predikat di mana Mesin Database mengevaluasi terhadap semua baris yang memenuhi SeekPredicate, tetapi ini opsional dan tidak menggunakan indeks untuk menyelesaikan proses ini.

Jika properti Diurutkan di panel Properti atau xml showplan adalah True, prosesor kueri telah menentukan bahwa baris harus dikembalikan dalam urutan di mana indeks berkluster telah mengurutkannya. Jika properti Yang Diurutkan adalah False, Mesin Database mencari indeks dengan cara yang optimal, tanpa harus mengurutkan output. Membutuhkan output untuk mempertahankan pemesanannya bisa kurang efisien daripada menghasilkan output yang tidak diurutkan.

Pencarian Indeks Berkluster adalah operator logis dan fisik.
Pembaruan Indeks Berkluster Operator Pembaruan Indeks Terkluster memperbarui baris input dalam indeks berkluster yang ditentukan dalam properti Objek , yang tercantum di panel Properti dari showplans grafis dan XML. Jika properti Predikat ada, hanya baris yang memenuhi predikat ini yang diperbarui. Jika properti SetPredicate ada, setiap kolom yang diperbarui diatur ke nilai ini. Jika properti DefineValue ada, nilai yang ditentukan operator ini dicantumkan. Nilai-nilai ini mungkin dirujuk dalam SET klausul atau di tempat lain dalam operator ini dan di tempat lain dalam kueri ini.

Catatan: Perubahan pada indeks berkluster dapat memengaruhi indeks non-kluster.

Pembaruan Indeks Berkluster adalah operator logis dan fisik.
Runtuhnya Operator Ciutkan mengoptimalkan pemrosesan pembaruan. Saat pembaruan dilakukan, pembaruan dapat dipisahkan (menggunakan operator Pisahkan ) menjadi penghapusan dan penyisipan. Panel Properti berisi grup menurut predikat yang menentukan daftar kolom kunci. Jika prosesor kueri menemukan baris yang berdekatan yang menghapus dan menyisipkan nilai kunci yang sama, prosesor kueri menggantikan operasi terpisah ini dengan satu operasi pembaruan yang lebih efisien.

Ciutkan adalah operator logis dan fisik.
Penghapusan Indeks Penyimpan Kolom Operator Penghapusan Indeks Penyimpan Kolom mewakili penghapusan baris dari indeks penyimpan kolom yang ditentukan dalam properti Objek , yang tercantum di panel Properti dari showplans grafis dan XML. Penghapusan terjadi melalui Penghapusan Indeks Berkluster untuk indeks penyimpan kolom berkluster, dan melalui operator Hapus Indeks untuk indeks penyimpan kolom berkluster. Jenis indeks (Terkluster, NonClustered, atau ViewNonClustered) ditentukan dalam properti IndexKind di showplan XML. SeekPredicate tidak didukung untuk Penghapusan Indeks Penyimpan Kolom. Baris yang akan dihapus dibaca dari operator anak.

Penghapusan Indeks Penyimpan Kolom adalah operator fisik.
Penyisipan Indeks Penyimpan Kolom Operator Penyisipan Indeks Penyimpan Kolom mewakili penyisipan baris dari inputnya ke dalam indeks penyimpan kolom yang ditentukan dalam properti Objek , yang tercantum di panel Properti dari showplans grafis dan XML. Penyisipan terjadi melalui Sisipkan Indeks Berkluster untuk indeks penyimpan kolom berkluster, dan melalui operator Sisipkan Indeks untuk indeks penyimpan kolom berkluster. Jenis indeks (Terkluster, NonClustered, atau ViewNonClustered) ditentukan dalam properti IndexKind di showplan XML. Showplan XML menyertakan properti SetPredicate dan ColumnReference , yang dapat digunakan untuk menentukan nilai tempat setiap kolom diatur.

Catatan: Perubahan pada indeks berkluster dapat memengaruhi indeks non-kluster.

Penyisipan Indeks Penyimpan Kolom adalah operator fisik.
Penggabungan Indeks Penyimpan Kolom Penggabungan Indeks Penyimpan Kolom mewakili aplikasi aliran data gabungan menggunakan operator Penggabungan Indeks Berkluster. Operator menghapus, memperbarui, atau menyisipkan baris dari indeks penyimpan kolom berkluster yang ditentukan dalam properti Objek , yang tercantum di panel Properti dari showplans grafis dan XML. Operasi aktual yang dilakukan tergantung pada nilai runtime properti ActionColumn .

Catatan: Perubahan pada indeks berkluster dapat memengaruhi indeks non-kluster.

Penggabungan Indeks Penyimpan Kolom adalah operator fisik.
Pemindaian Indeks Penyimpan Kolom Operator Pemindaian Indeks Penyimpan Kolom mewakili pemindaian indeks penyimpan kolom yang ditentukan dalam properti Objek , yang tercantum di panel Properti dari showplans grafis dan XML. Pemindaian terjadi melalui Pemindaian Indeks Berkluster untuk indeks penyimpan kolom berkluster, dan melalui operator Pemindaian Indeks untuk indeks penyimpan kolom non-kluster. Jenis indeks (Terkluster, NonClustered, atau ViewNonClustered) ditentukan dalam properti IndexKind di showplan XML. Saat Predikat opsional ada, hanya baris yang memenuhi predikat yang dikembalikan. Properti SeekPredicate hanya tersedia untuk indeks penyimpan kolom yang dipartisi, dan hanya kondisi kesetaraan atau ketidaksetaraan. Jika kolom yang dipartisi berada dalam predikat kueri, eliminasi partisi dapat mengurangi jumlah grup baris yang akan dipindai.

Pemindaian Indeks Penyimpan Kolom adalah operator fisik.
Pembaruan Indeks Penyimpan Kolom Operator Pembaruan Indeks Penyimpan Kolom mewakili pembaruan ke satu atau beberapa baris dalam indeks penyimpan kolom yang ditentukan dalam properti Objek , yang tercantum di panel Properti dari showplans grafis dan XML. Pembaruan terjadi melalui operator Pembaruan Indeks Berkluster untuk indeks penyimpan kolom berkluster, dan melalui operator Pembaruan Indeks untuk indeks penyimpan kolom non-kluster. Jenis indeks (Terkluster, NonClustered, atau ViewNonClustered) ditentukan dalam properti IndexKind di showplan XML. SeekPredicate tidak didukung untuk Pembaruan Indeks Penyimpan Kolom. Baris yang akan diperbarui dibaca dari operator anak. Jika properti SetPredicate ada, setiap kolom yang diperbarui diatur ke nilai ini. Jika properti DefineValue ada, nilai yang ditentukan operator ini dicantumkan. Nilai-nilai ini mungkin dirujuk dalam SET klausul atau di tempat lain dalam operator ini dan di tempat lain dalam kueri ini.

Catatan: Perubahan pada indeks berkluster dapat memengaruhi indeks non-kluster.

Pembaruan Indeks Penyimpan Kolom adalah operator fisik.
Skalar Komputasi Operator Skalar Komputasi mengevaluasi ekspresi untuk menghasilkan nilai skalar komputasi. Ini kemudian dapat dikembalikan ke pengguna, direferensikan di tempat lain dalam kueri, atau keduanya. Contoh keduanya berada dalam predikat filter atau predikat gabungan.

Operator Skalar Komputasi yang muncul di showplans yang dihasilkan mungkin SET STATISTICS XML tidak berisi elemen RunTimeInformation . Dalam showplan grafis, Baris Aktual, Pengikatan Aktual, dan Rewind Aktual mungkin tidak ada dari jendela Properti saat opsi Sertakan Rencana Eksekusi Aktual dipilih di SQL Server Management Studio. Ketika ini terjadi, itu berarti bahwa meskipun operator ini digunakan dalam rencana kueri yang dikompilasi, pekerjaan mereka dilakukan oleh operator lain dalam rencana kueri runtime. Jumlah eksekusi dalam output showplan yang dihasilkan oleh setara dengan SET STATISTICS PROFILE jumlah pengikatan ulang dan putar balik dalam showplans yang dihasilkan oleh SET STATISTICS XML.

Skalar Komputasi adalah operator logis dan fisik.
Rangkaian Operator Penggambaran memindai beberapa input, mengembalikan setiap baris yang dipindai. Perangkaian biasanya digunakan untuk mengimplementasikan konstruksi Transact-SQLUNION ALL. Operator fisik Penggambungan memiliki dua input atau lebih dan satu output. Penggalian menyalin baris dari aliran input pertama ke aliran output, lalu mengulangi operasi ini untuk setiap aliran input tambahan.

Penggalian adalah operator logis dan fisik.
Kondisi (Jika dan Sementara) Operator Kondisional melakukan pemrosesan kondisional berdasarkan atau IFWHILE perulangan. Jika dan Sementara adalah elemen bahasa.
Pemindaian Konstanta Operator Pemindaian Konstanta memperkenalkan satu atau beberapa baris konstanta ke dalam kueri. Operator Skalar Komputasi sering digunakan setelah Pemindaian Konstan untuk menambahkan kolom ke baris yang dihasilkan oleh operator Pemindaian Konstan. Pemindaian Konstanta dapat menghasilkan satu atau beberapa baris dengan nol kolom atau lebih.
Mengonversi Operator Konversi mengonversi satu jenis data skalar ke jenis data skalar lainnya.

Konversi adalah elemen bahasa.
Gabungan Silang Operator Gabungan Silang menggabungkan setiap baris dari input pertama (atas) dengan setiap baris dari input kedua (bawah).

Cross Join adalah operator logis.
Kursor Operator logis dan fisik Kursor digunakan untuk menjelaskan bagaimana kueri atau pembaruan yang melibatkan operasi kursor dijalankan. Operator fisik menjelaskan algoritma implementasi fisik yang digunakan untuk memproses kursor; misalnya, menggunakan kursor berbasis keyset. Setiap langkah dalam eksekusi kursor melibatkan operator fisik. Operator logis menjelaskan properti kursor, seperti kursor hanya dibaca.

Operator logis termasuk Asinkron, Optimis, Utama, Baca Saja, Kunci Gulir, Sekunder, dan Sinkron.

Operator fisik termasuk Dynamic, Fetch Query, Keyset, Population Query, Refresh Query, dan Snapshot.
Nyatakan Operator Deklarasikan mengalokasikan variabel lokal dalam rencana kueri.

Deklarasikan adalah elemen bahasa.
Hapus Operator Hapus menghapus baris (dari objek) yang memenuhi predikat opsional di panel Properti .
Pemindaian Dihapus Dalam pemicu, operator Pemindaian Dihapus memindai tabel yang dihapus.
Tidak Unik Operator Berbeda menghapus duplikat dari set baris atau dari kumpulan nilai.

Berbeda adalah operator logis.
Tidak Pengurutan Yang Berbeda Operator logis Pengurutan Berbeda memindai input, menghapus duplikat dan pengurutan menurut kolom yang ditentukan dalam urutan yang berbeda berdasarkan predikat panel Properti .

Distinct Sort adalah operator logis.
Mendistribusikan Aliran Operator Distribusikan Aliran hanya digunakan dalam rencana kueri paralel. Operator Distribusikan Aliran mengambil satu aliran input rekaman dan menghasilkan beberapa aliran output. Konten dan format rekaman tidak diubah. Setiap rekaman dari aliran input muncul di salah satu aliran output. Operator ini secara otomatis mempertahankan urutan relatif rekaman input dalam aliran output. Biasanya, hashing digunakan untuk memutuskan aliran output mana yang dimiliki rekaman input tertentu.

Jika output dipartisi, panel Properti berisi predikat kolom partisi dan kolom partisi.

Mendistribusikan Aliran adalah operator logis
Dinamis Operator Dinamis menggunakan kursor yang dapat melihat semua perubahan yang dibuat oleh orang lain.
Eager Spool Operator Eager Spool mengambil seluruh input, menyimpan setiap baris dalam objek sementara tersembunyi yang disimpan dalam database tempdb. Jika operator diganti (misalnya, oleh operator Nested Loops ) tetapi tidak diperlukan pengikatan ulang, data yang di-spool digunakan alih-alih memindai ulang input. Jika pengikatan ulang diperlukan, data yang ditampung dibuang dan objek penampung dibangun kembali dengan memindai kembali input (rebound). Operator Eager Spool membangun file penampungnya dengan cara "bersemangat": ketika operator induk penampung meminta baris pertama, operator penampung mengonsumsi semua baris dari operator inputnya dan menyimpannya di penampung.

Eager Spool adalah operator logis.
Ambil Kueri Operator Ambil Kueri mengambil baris saat pengambilan dikeluarkan terhadap kursor.
Filter Operator Filter memindai input, hanya mengembalikan baris yang memenuhi ekspresi filter (predikat) yang muncul di panel Properti .
Tidak Alur Berbeda Operator Flow Distinct memindai input, menghapus duplikat. Sedangkan operator Berbeda menggunakan semua input sebelum menghasilkan output apa pun, operator Flow Distinct mengembalikan setiap baris seperti yang diperoleh dari input (kecuali baris tersebut adalah duplikat, dalam hal ini dibuang).

Flow Distinct adalah operator logis.
Pemeriksaan Referensi Kunci Asing Operator Pemeriksaan Referensi Kunci Asing melakukan pemeriksaan integritas referensial, dengan membandingkan baris yang dimodifikasi dengan baris dalam tabel referensi untuk memverifikasi bahwa modifikasi tidak merusak integritas referensial. Operator Pemeriksaan Referensi Kunci Asing digunakan ketika lebih dari 253 referensi kunci asing ada pada kunci primer atau unik yang sama.

Pemeriksaan Referensi Kunci Asing adalah operator logis dan fisik.
Gabungan Luar Penuh Operator logis Full Outer Join mengembalikan setiap baris yang memenuhi predikat gabungan dari input pertama (atas) yang digabungkan dengan setiap baris dari input kedua (bawah). Ini juga mengembalikan baris dari:

- Input pertama yang tidak memiliki kecocokan di input kedua.

- Input kedua yang tidak memiliki kecocokan dalam input pertama.

Input yang tidak berisi nilai yang cocok dikembalikan sebagai nilai null.

Full Outer Join adalah operator logis.
Kumpulkan Aliran Operator Kumpulkan Aliran hanya digunakan dalam rencana kueri paralel. Operator Kumpulkan Aliran mengonsumsi beberapa aliran input dan menghasilkan satu aliran output rekaman dengan menggabungkan aliran input. Konten dan format rekaman tidak diubah. Jika operator ini mempertahankan pesanan, semua aliran input harus diurutkan. Jika output diurutkan, panel Properti berisi urutan berdasarkan predikat dan nama kolom yang diurutkan.

Mengumpulkan Aliran adalah operator logis.
Kecocokan Hash Operator Hash Match membangun tabel hash dengan menghitung nilai hash untuk setiap baris dari input build-nya. Predikat hash, dengan daftar kolom yang digunakan untuk membuat nilai hash, muncul di panel Properti. Kemudian, untuk setiap baris pemeriksaan (sebagaimana berlaku), baris ini menghitung nilai hash (menggunakan fungsi hash yang sama) dan terlihat dalam tabel hash untuk kecocokan. Jika predikat residu ada (diidentifikasi oleh RESIDUAL:() di panel Properti), predikat tersebut juga harus dipenuhi agar baris dianggap cocok. Perilaku tergantung pada operasi logis yang dilakukan:

- Untuk gabungan apa pun, gunakan input pertama (atas) untuk membangun tabel hash dan input kedua (bawah) untuk memeriksa tabel hash. Output cocok (atau nonmatche) seperti yang ditentukan oleh jenis gabungan. Jika beberapa gabungan menggunakan kolom gabungan yang sama, operasi ini dikelompokkan ke dalam tim hash.

- Untuk operator yang berbeda atau agregat, gunakan input untuk membangun tabel hash (menghapus duplikat dan menghitung ekspresi agregat apa pun). Saat tabel hash dibangun, pindai tabel dan keluarkan semua entri.

- Untuk operator serikat, gunakan input pertama untuk membangun tabel hash (menghapus duplikat). Gunakan input kedua (yang tidak boleh memiliki duplikat) untuk menyelidiki tabel hash, mengembalikan semua baris yang tidak memiliki kecocokan, lalu pindai tabel hash dan kembalikan semua entri.

Hash Match adalah operator fisik. Untuk informasi selengkapnya, lihat Memahami gabungan Hash.
Hapus Indeks Operator Hapus Indeks menghapus baris dari indeks non-kluster yang ditentukan di panel Properti .

Penghapusan Indeks adalah operator fisik.
Sisipkan Indeks Operator Sisipkan Indeks menyisipkan baris dari inputnya ke dalam indeks non-kluster yang ditentukan di panel Properti . Panel Properti juga berisi predikat yang ditetapkan , yang menunjukkan nilai tempat setiap kolom diatur.

Sisipan Indeks adalah operator fisik.
Pemindaian Indeks Operator Pemindaian Indeks mengambil semua baris dari indeks non-kluster yang ditentukan di panel Properti . Jika predikat opsional muncul di panel Properti, hanya baris yang memenuhi predikat yang dikembalikan.

Pemindaian Indeks adalah operator logis dan fisik.
Pencarian Indeks Operator Pencarian Indeks menggunakan kemampuan mencari indeks untuk mengambil baris dari indeks yang tidak terkluster. Panel Properti berisi nama indeks non-kluster yang digunakan. Ini juga berisi predikat pencarian . Mesin Database menggunakan indeks untuk memproses hanya baris yang memenuhi predikat pencarian . Ini secara opsional mungkin mencakup predikat di mana , yang dievaluasi Mesin Database terhadap semua baris yang memenuhi predikat pencarian (tidak menggunakan indeks untuk melakukan ini). Jika panel Properti berisi ORDERED klausa, prosesor kueri telah menentukan bahwa baris harus dikembalikan dalam urutan di mana indeks non-kluster telah mengurutkannya. ORDERED Jika klausa tidak ada, Mesin Database mencari indeks dengan cara yang optimal (yang tidak menjamin bahwa output diurutkan). Memungkinkan output untuk mempertahankan pengurutannya mungkin kurang efisien daripada menghasilkan output yang tidak diurutkan.

Pencarian Indeks adalah operator logis dan fisik.
Penjampunan Indeks Operator Penampung Indeks berisi predikat pencarian di panel Properti. Operator Index Spool memindai baris inputnya, menempatkan salinan setiap baris dalam file spool tersembunyi (disimpan dalam database tempdb dan hanya ada untuk masa pakai kueri), dan membangun indeks nonclustered pada baris. Ini memungkinkan Anda untuk menggunakan kemampuan mencari indeks untuk menghasilkan hanya baris yang memenuhi predikat pencarian . Jika operator diganti (misalnya, oleh operator Nested Loops ) tetapi tidak diperlukan pengikatan ulang, data yang di-spool digunakan alih-alih memindai ulang input.

Index Spool adalah operator fisik.
Pembaruan Indeks Operator fisik Pembaruan Indeks memperbarui baris dari inputnya dalam indeks non-kluster yang ditentukan di panel Properti . Jika predikat yang ditetapkan ada, setiap kolom yang diperbarui diatur ke nilai ini.

Pembaruan Indeks adalah operator fisik.
Gabungan Dalam Operator Gabungan Dalam mengembalikan setiap baris yang memenuhi predikat gabungan input pertama (atas) dengan input kedua (bawah).

Gabungan Dalam adalah operator logis.
Sisipan Operator Sisipkan menyisipkan setiap baris dari inputnya ke dalam objek yang ditentukan di panel Properti . Operator fisik adalah operator Sisipkan Tabel, Sisipkan Indeks, atau Sisipkan Indeks Berkluster.

Sisipkan adalah operator logis.
Pemindaian yang Disisipkan Dalam pemicu, operator Pemindaian yang Disisipkan memindai tabel yang disisipkan .

Pemindaian yang Disisipkan adalah operator logis dan fisik.
Intrinsik Operator Intrinsik memanggil fungsi Transact-SQL internal.

Intrinsik adalah elemen bahasa.
Iterator Ikon catchall Iterator ditampilkan ketika ikon yang cocok untuk iterator tidak dapat ditemukan oleh logika yang menghasilkan showplan grafis. Ikon catchall tidak selalu menunjukkan kondisi kesalahan.
Pencarian Kunci Operator Pencarian Kunci adalah pencarian marka buku pada tabel dengan indeks berkluster. Panel Properti berisi nama indeks berkluster dan kunci pengklusteran yang digunakan untuk mencari baris dalam indeks berkluster. Pencarian Kunci selalu disertai dengan operator Perulangan Berlapis. WITH PREFETCH Jika klausa muncul di panel Properti, prosesor kueri telah menentukan bahwa optimal untuk menggunakan prefetching asinkron (read-ahead) saat mencari marka buku dalam indeks berkluster.

Penggunaan operator Pencarian Kunci dalam rencana kueri menunjukkan bahwa kueri mungkin mendapat manfaat dari penyetelan performa. Misalnya, performa kueri mungkin ditingkatkan dengan menambahkan indeks yang mencakup.
Set kunci Operator Keyset menggunakan kursor yang dapat melihat pembaruan, tetapi tidak disisipkan, yang dibuat oleh orang lain.
Elemen Bahasa Ikon catchall Elemen Bahasa ditampilkan ketika ikon yang cocok untuk iterator tidak dapat ditemukan oleh logika yang menghasilkan showplan grafis. Ikon catchall tidak selalu menunjukkan kondisi kesalahan.
Penampung Malas Operator logis Lazy Spool menyimpan setiap baris dari inputnya dalam objek sementara tersembunyi yang disimpan dalam database tempdb. Jika operator diganti (misalnya, oleh operator Nested Loops ) tetapi tidak diperlukan pengikatan ulang, data yang di-spool digunakan alih-alih memindai ulang input. Jika pengikatan ulang diperlukan, data yang ditampung dibuang dan objek penampung dibangun kembali dengan memindai kembali input (rebound). Operator Lazy Spool membangun file penampungnya dengan cara "malas", yaitu, setiap kali operator induk penampung meminta baris, operator penampung mendapatkan baris dari operator inputnya dan menyimpannya di tampungan, daripada mengonsumsi semua baris sekaligus.

Lazy Spool adalah operator logis.
Tidak Gabungan Anti Semi Kiri Operator Left Anti Semi Join mengembalikan setiap baris dari input pertama (atas) saat tidak ada baris yang cocok di input kedua (bawah). Jika tidak ada predikat gabungan di panel Properti , setiap baris adalah baris yang cocok.

Left Anti Semi Join adalah operator logis.
Tidak Gabungan Luar Kiri Operator Gabungan Luar Kiri mengembalikan setiap baris yang memenuhi predikat gabungan input pertama (atas) dengan input kedua (bawah). Ini juga mengembalikan baris apa pun dari input pertama yang tidak memiliki baris yang cocok di input kedua. Baris yang tidak cocok di input kedua dikembalikan sebagai nilai null. Jika tidak ada predikat gabungan di panel Properti , setiap baris adalah baris yang cocok.

Left Outer Join adalah operator logis.
Tidak Gabungan Semi Kiri Operator Semi Join Kiri mengembalikan setiap baris dari input pertama (atas) saat ada baris yang cocok di input kedua (bawah). Jika tidak ada predikat gabungan di panel Properti , setiap baris adalah baris yang cocok.

Left Semi Join adalah operator logis.
Pemindaian Baris Log Operator Pemindaian Baris Log memindai log transaksi.

Pemindaian Baris Log adalah operator logis dan fisik.
Interval Penggabungan Operator Gabungkan Interval menggabungkan beberapa interval (berpotensi tumpang tindih) untuk menghasilkan interval minimal dan tidak tumpang tindih yang kemudian digunakan untuk mencari entri indeks. Operator ini biasanya muncul sebelum satu atau beberapa operator Skalar Komputasi melalui operator Pemindaian Konstanta, yang membangun interval (direpresentasikan sebagai kolom dalam baris) yang digabungkan operator ini.

Interval Penggabungan adalah operator logis dan fisik.
Gabungkan Gabungan Operator Gabung Gabung melakukan gabungan dalam, gabungan luar kiri, gabungan semi kiri, gabungan anti semi kiri, gabungan luar kanan, gabungan semi kanan, gabungan anti semi kanan, dan operasi logis gabungan gabungan.

Di panel Properti , operator Gabungkan Gabungan berisi predikat penggabungan jika operasi melakukan gabungan satu-ke-banyak, atau predikat penggabungan banyak ke banyak jika operasi melakukan gabungan banyak-ke-banyak. Panel Properti juga menyertakan daftar kolom yang dipisahkan koma yang digunakan untuk melakukan operasi. Operator Gabungkan Gabungan memerlukan dua input yang diurutkan pada kolom masing-masing, mungkin dengan menyisipkan operasi pengurutan eksplisit ke dalam rencana kueri. Penggabungan gabungan sangat efektif jika pengurutan eksplisit tidak diperlukan, misalnya, jika ada indeks pohon B yang sesuai dalam database atau jika urutan pengurutan dapat dieksploitasi untuk beberapa operasi, seperti gabungan gabungan dan pengelompokan dengan rollup.

Gabung gabungan adalah operator fisik. Untuk informasi selengkapnya, lihat Memahami gabungan Gabungan.
Perulangan Berlapis Operator Nested Loops melakukan gabungan dalam, gabungan luar kiri, gabungan semi kiri, dan operasi logis anti semi gabungan kiri.

Gabungan perulangan berlapis melakukan pencarian pada tabel dalam untuk setiap baris tabel luar, biasanya menggunakan indeks. Prosesor kueri memutuskan, berdasarkan biaya yang diantisipasi, apakah akan mengurutkan input luar untuk meningkatkan lokalitas pencarian pada indeks melalui input dalam. Setiap baris yang memenuhi predikat (opsional) di panel Properti dikembalikan sebagaimana berlaku, berdasarkan operasi logis yang sedang dilakukan. OPTIMIZED Ketika atribut diatur ke True, itu berarti bahwa Perulangan Berlapis yang Dioptimalkan (atau Pengurutan Batch) digunakan.

Perulangan Berlapis adalah operator fisik. Untuk informasi selengkapnya, lihat Memahami gabungan Perulangan Berlapis.
Tidak Sisipkan Indeks Online Operator Sisipan Indeks Online menunjukkan bahwa operasi indeks (membuat, mengubah, atau menghilangkan) dilakukan secara online. Artinya, data tabel yang mendasar tetap tersedia untuk pengguna selama operasi indeks.

Sisipan Indeks Online adalah operator fisik.
Tidak Paralelisme Operator Paralelisme (atau Exchange Iterator) melakukan streaming distribusi, mengumpulkan aliran, dan mempartisi ulang operasi logis aliran. Panel Properti dapat berisi predikat kolom partisi dengan daftar kolom yang dipisahkan koma yang sedang dipartisi. Panel Properti juga dapat berisi urutan berdasarkan predikat, mencantumkan kolom untuk mempertahankan urutan pengurutan selama pemartisian.

Catatan: Jika kueri telah dikompilasi sebagai kueri paralel, tetapi pada waktu proses kueri dijalankan sebagai kueri serial, output showplan yang dihasilkan oleh SET STATISTICS XML atau dengan menggunakan opsi Sertakan Rencana Eksekusi Aktual di SQL Server Management Studio tidak berisi RunTimeInformation elemen untuk operator Paralelisme . Dalam SET STATISTICS PROFILE output, jumlah baris aktual dan jumlah eksekusi aktual menampilkan nol untuk operator Paralelisme . Ketika salah satu kondisi terjadi, itu berarti bahwa operator Paralelisme hanya digunakan selama kompilasi kueri dan bukan dalam rencana kueri runtime. Terkadang rencana kueri paralel dijalankan secara serial jika ada beban bersamaan yang tinggi di server.

Paralelisme adalah operator fisik. Untuk informasi selengkapnya tentang operator Paralelisme, lihat Operator Paralelisme.
Pemindaian Tabel Parameter Operator Pemindaian Tabel Parameter memindai tabel yang bertindak sebagai parameter dalam kueri saat ini. Biasanya, ini digunakan untuk INSERT kueri dalam prosedur tersimpan.

Pemindaian Tabel Parameter adalah operator logis dan fisik.
Tidak Agregat Parsial Agregat Parsial digunakan dalam paket paralel. Ini menerapkan fungsi agregasi ke baris input sebanyak mungkin sehingga penulisan ke disk (dikenal sebagai "tumpahan") tidak diperlukan. Hash Match adalah satu-satunya operator fisik (iterator) yang menerapkan agregasi parsial.

Agregat Parsial adalah operator logis.
Kueri Populasi Operator Kueri Populasi mengisi tabel kerja kursor saat kursor dibuka.
Refresh Kueri Operator Refresh Kueri mengambil data saat ini untuk baris dalam buffer pengambilan.
Hapus Jarak Jauh Operator Hapus Jarak Jauh menghapus baris input dari objek jarak jauh.

Penghapusan Jarak Jauh adalah operator logis dan fisik.
Pemindaian Indeks Jarak Jauh Operator Pemindaian Indeks Jarak Jauh memindai indeks jarak jauh yang ditentukan di panel Properti .

Pemindaian Indeks Jarak Jauh adalah operator logis dan fisik.
Pencarian Indeks Jarak Jauh Operator Pencarian Indeks Jarak Jauh menggunakan kemampuan pencarian objek indeks jarak jauh untuk mengambil baris. Panel Properti berisi nama indeks jarak jauh yang digunakan dan predikat pencarian .

Pencarian Indeks Jarak Jauh adalah operator logis dan fisik.
Sisipkan Jarak Jauh Operator Sisipkan Jarak Jauh menyisipkan baris input ke dalam objek jarak jauh.

Sisipan Jarak Jauh adalah operator logis dan fisik.
Kueri Jarak Jauh Operator Kueri Jarak Jauh mengirimkan kueri ke sumber jarak jauh. Teks kueri yang dikirim ke server jarak jauh muncul di panel Properti .

Kueri Jarak Jauh adalah operator logis dan fisik.
Pemindaian Jarak Jauh Operator Pemindaian Jarak Jauh memindai objek jarak jauh. Nama objek jarak jauh muncul di panel Properti .

Pemindaian Jarak Jauh adalah operator logis dan fisik.
Pembaruan Jarak Jauh Operator Pembaruan Jarak Jauh memperbarui baris input dalam objek jarak jauh.

Pembaruan Jarak Jauh adalah operator logis dan fisik.
Partisi ulang Aliran Operator Aliran Partisi Ulang (atau pertukaran iterator) mengonsumsi beberapa aliran dan menghasilkan beberapa aliran rekaman. Konten dan format rekaman tidak diubah. Jika pengoptimal kueri menggunakan filter bitmap, jumlah baris dalam aliran output berkurang. Setiap rekaman dari aliran input ditempatkan ke dalam satu aliran output. Jika operator ini mempertahankan pesanan, semua aliran input harus diurutkan dan digabungkan ke dalam beberapa aliran output yang diurutkan. Jika output dipartisi, panel Properti berisi predikat kolom partisi dan kolom partisi. Jika output diurutkan, panel Properti berisi urutan berdasarkan predikat dan kolom yang diurutkan. Operator hanya digunakan dalam rencana kueri paralel.

Partisi ulang Aliran adalah operator logis.
Hasil Operator Hasil adalah data yang dikembalikan di akhir rencana kueri. Ini biasanya merupakan elemen akar dari showplan.

Hasilnya adalah elemen bahasa.
Pencarian RID PENCARIAN RID adalah pencarian bookmark pada tumpukan menggunakan pengidentifikasi baris yang disediakan (RID). Panel Properti berisi label marka buku yang digunakan untuk mencari baris dalam tabel dan nama tabel tempat baris dicari. Pencarian RID selalu disertai dengan NESTED LOOP JOIN.

RID Lookup adalah operator fisik. Untuk informasi selengkapnya tentang pencarian marka buku, lihat Baca Penerapan dan Pencarian Bookmark.
Tidak Right Anti Semi Join Operator Right Anti Semi Join menghasilkan setiap baris dari input kedua (bawah) saat baris yang cocok di input pertama (atas) tidak ada. Baris yang cocok didefinisikan sebagai baris yang memenuhi predikat di panel Properti (jika tidak ada predikat, setiap baris adalah baris yang cocok).

Right Anti Semi Join adalah operator logis.
Tidak Gabungan Luar Kanan Operator Right Outer Join mengembalikan setiap baris yang memenuhi gabungan input kedua (bawah) dengan setiap baris yang cocok dari input pertama (atas). Ini juga mengembalikan baris apa pun dari input kedua yang tidak memiliki baris yang cocok di input pertama, digabungkan dengan NULL. Jika tidak ada predikat gabungan di panel Properti , setiap baris adalah baris yang cocok.

Right Outer Join adalah operator logis.
Tidak Gabungan Semi Kanan Operator Right Semi Join mengembalikan setiap baris dari input kedua (bawah) saat ada baris yang cocok di input pertama (atas). Jika tidak ada predikat gabungan di panel Properti , setiap baris adalah baris yang cocok.

Right Semi Join adalah operator logis.
Kumpulan Jumlah Baris Operator Row Count Spool memindai input, menghitung berapa banyak baris yang ada dan mengembalikan jumlah baris yang sama tanpa data apa pun di dalamnya. Operator ini digunakan ketika penting untuk memeriksa keberadaan baris, bukan data yang terkandung dalam baris. Misalnya, jika operator Nested Loops melakukan operasi semi join kiri dan predikat gabungan berlaku untuk input dalam, spool jumlah baris mungkin ditempatkan di bagian atas input dalam operator Nested Loops . Kemudian operator Nested Loops dapat menentukan berapa banyak baris yang dihasilkan oleh spool jumlah baris (karena data aktual dari sisi dalam tidak diperlukan) untuk menentukan apakah akan mengembalikan baris luar.

Row Count Spool adalah operator fisik.
Tidak Partisi Ulang Segmen Dalam rencana kueri paralel, terkadang ada wilayah konseptual iterator. Semua iterator dalam wilayah tersebut dapat dijalankan oleh utas paralel. Wilayah itu sendiri harus dijalankan secara serial. Beberapa iterator Paralelisme dalam wilayah individual disebut Partisi Ulang Cabang. Iterator Paralelisme pada batas dua wilayah tersebut disebut Partisi Ulang Segmen.

Partisi Ulang Cabang dan Partisi Ulang Segmen adalah operator logis.
Segmen Operator Segment membagi input yang diatur menjadi segmen berdasarkan nilai satu atau beberapa kolom. Kolom ini ditampilkan sebagai argumen di operator Segment . Operator kemudian menghasilkan satu segmen pada satu waktu.

Segmen adalah operator fisik dan logis.
Proyek Urutan Operator Proyek Urutan menambahkan kolom untuk melakukan komputasi melalui set yang diurutkan. Ini membagi input yang diatur menjadi segmen berdasarkan nilai satu atau beberapa kolom. Operator kemudian menghasilkan satu segmen pada satu waktu. Kolom ini ditampilkan sebagai argumen di operator Proyek Urutan.

Proyek Urutan adalah operator logis dan fisik.
Sekuens Operator Urutan mendorong rencana pembaruan yang luas. Secara fungsional, ia menjalankan setiap input secara berurutan (atas ke bawah). Setiap input biasanya merupakan pembaruan dari objek yang berbeda. Ini hanya mengembalikan baris yang berasal dari input terakhir (bawah).

Urutannya adalah operator logis dan fisik.
Snapshot Operator Snapshot membuat kursor yang tidak melihat perubahan yang dibuat oleh orang lain.
urutkan Operator Urutkan mengurutkan semua baris masuk. Panel Properti berisi urutan yang berbeda berdasarkan predikat jika duplikat dihapus oleh operasi ini, atau urutan berdasarkan predikat dengan daftar kolom yang dipisahkan koma yang sedang diurutkan. Kolom diawali dengan nilai ASC jika kolom diurutkan dalam urutan naik, atau nilai DESC jika kolom diurutkan dalam urutan turun.

Sortir adalah operator logis dan fisik.
Split Operator Pisahkan digunakan untuk mengoptimalkan pemrosesan pembaruan. Ini membagi setiap operasi pembaruan menjadi operasi penghapusan dan penyisipan.

Pemisahan adalah operator logis dan fisik.
Spul Operator Penampung menyimpan hasil kueri perantara ke database tempdb.
Agregat Aliran Operator Agregat Aliran mengelompokkan baris menurut satu atau beberapa kolom lalu menghitung satu atau beberapa ekspresi agregat yang dikembalikan oleh kueri. Output operator ini dapat direferensikan oleh operator selanjutnya dalam kueri, dikembalikan ke klien, atau keduanya. Operator Agregat Aliran memerlukan input yang diurutkan oleh kolom dalam grupnya. Pengoptimal menggunakan operator Sortir sebelum operator ini jika data belum diurutkan karena operator Urutkan sebelumnya, atau karena pencarian atau pemindaian indeks yang diurutkan. SHOWPLAN_ALL Dalam pernyataan atau rencana eksekusi grafis di SQL Server Management Studio, kolom dalam grup menurut predikat tercantum di panel Properti, dan ekspresi agregat tercantum di kolom Nilai yang Ditentukan.

Stream Aggregate adalah operator fisik.
Sakelar Switch adalah jenis iterator penggalian khusus yang memiliki input n . Ekspresi dikaitkan dengan setiap operator Pengalihan . Bergantung pada nilai pengembalian ekspresi (antara 0 dan n-1), Beralih menyalin aliran input yang sesuai ke aliran output. Salah satu penggunaan Switch adalah menerapkan rencana kueri yang melibatkan kursor maju cepat dengan operator tertentu seperti operator TOP .

Switch adalah operator logis dan fisik.
Hapus Tabel Operator Hapus Tabel menghapus baris dari tabel yang ditentukan di panel Properti dari rencana eksekusi kueri.

Table Delete adalah operator fisik.
Sisipkan Tabel Operator Sisipkan Tabel menyisipkan baris dari inputnya ke dalam tabel yang ditentukan di panel Properti dari rencana eksekusi kueri. Panel Properti juga berisi predikat yang ditetapkan , yang menunjukkan nilai tempat setiap kolom diatur. Jika Sisipkan Tabel tidak memiliki turunan untuk menyisipkan nilai, maka baris yang disisipkan diambil dari operator Sisipkan itu sendiri.

Table Insert adalah operator fisik.
Penggabungan Tabel Operator Penggabungan Tabel menerapkan aliran data penggabungan ke timbunan. Operator menghapus, memperbarui, atau menyisipkan baris dalam tabel yang ditentukan di panel Properti operator. Operasi aktual yang dilakukan tergantung pada nilai runtime properti ActionColumn

Penggabungan Tabel adalah operator fisik.
Pemindaian Tabel Operator Pemindaian Tabel mengambil semua baris dari tabel yang ditentukan di panel Properti dari rencana eksekusi kueri. Jika predikat tempat muncul di panel Properti, hanya baris yang memenuhi predikat yang dikembalikan.

Pemindaian Tabel adalah operator logis dan fisik.
Table Spool Operator Table Spool memindai input dan menempatkan salinan setiap baris dalam tabel spool tersembunyi yang disimpan dalam database tempdb dan hanya ada untuk masa pakai kueri. Jika operator diganti (misalnya, oleh operator Nested Loops ) tetapi tidak diperlukan pengikatan ulang, data yang di-spool digunakan alih-alih memindai ulang input.

Table Spool adalah operator fisik.
Pembaruan Tabel Operator Pembaruan Tabel memperbarui baris input dalam tabel yang ditentukan di panel Properti dari rencana eksekusi kueri. Predikat set menentukan nilai setiap kolom yang diperbarui. Nilai-nilai ini mungkin dirujuk dalam SET klausul atau di tempat lain dalam operator ini, dan di tempat lain dalam kueri ini.

Pembaruan Tabel adalah operator fisik.
Fungsi bernilai tabel Operator Fungsi bernilai tabel mengevaluasi fungsi bernilai tabel (baik Transact-SQL atau CLR), dan menyimpan baris yang dihasilkan dalam database tempdb. Saat iterator induk meminta baris, Fungsi bernilai tabel mengembalikan baris dari tempdb.

Kueri dengan panggilan ke fungsi bernilai tabel menghasilkan rencana kueri dengan iterator Fungsi bernilai Tabel. Fungsi bernilai tabel dapat dievaluasi dengan nilai parameter yang berbeda:

- Pembaca XML Fungsi bernilai tabel memasukkan BLOB XML sebagai parameter dan menghasilkan set baris yang mewakili simpul XML dalam urutan dokumen XML. Parameter input lainnya mungkin membatasi simpul XML yang dikembalikan ke subset dokumen XML.

- Pembaca XML Fungsi Bernilai Tabel dengan filter XPath adalah jenis khusus Fungsi Bernilai Tabel Pembaca XML yang membatasi output ke simpul XML yang memenuhi ekspresi XPath.

Fungsi bernilai tabel adalah operator logis dan fisik.
Atas Operator Teratas memindai input, hanya mengembalikan jumlah atau persen baris pertama yang ditentukan, mungkin berdasarkan urutan pengurutan. Panel Properti bisa berisi daftar kolom yang sedang diperiksa ikatannya. Dalam paket pembaruan, operator Teratas digunakan untuk memberlakukan batas jumlah baris.

Top adalah operator logis dan fisik.
Tidak Urutan N Teratas Pengurutan N Atas mirip dengan iterator Urutkan, kecuali bahwa hanya baris N pertama yang diperlukan, dan bukan seluruh tataan hasil. Untuk nilai kecil N, mesin eksekusi kueri SQL Server mencoba melakukan seluruh operasi pengurutan dalam memori. Untuk nilai N yang besar, mesin eksekusi kueri menggunakan metode pengurutan yang lebih umum yang bukan parameter N.
UDX Extended Operator (UDX) menerapkan salah satu dari banyak operasi XQuery dan XPath di SQL Server.

- Operator yang diperluas (UDX) FOR XML digunakan untuk menserialisasikan baris relasional yang diatur ke dalam representasi XML dalam satu kolom BLOB dalam satu baris output. Ini adalah operator agregasi XML sensitif pesanan.

- Extended operator (UDX) XML SERIALIZER adalah operator agregasi XML sensitif pesanan. Ini memasukkan baris yang mewakili simpul XML atau skalar XQuery dalam urutan dokumen XML dan menghasilkan BLOB XML berseri dalam satu kolom XML dalam satu baris output.

- Extended operator (UDX) XML FRAGMENT SERIALIZER adalah jenis khusus XML SERIALIZER yang digunakan untuk memproses baris input yang mewakili fragmen XML yang dimasukkan dalam XQuery menyisipkan ekstensi modifikasi data.

- Extended operator (UDX) XQUERY STRING mengevaluasi nilai string XQuery dari baris input yang mewakili simpul XML. Ini adalah operator agregasi string sensitif pesanan. Ini menghasilkan satu baris dengan kolom yang mewakili skalar XQuery yang berisi nilai string input.

- Extended operator (UDX) XQUERY LIST DECOMPOSER adalah operator dekomposisi daftar XQuery. Untuk setiap baris input yang mewakili simpul XML, baris tersebut menghasilkan satu atau beberapa baris yang masing-masing mewakili skalar XQuery yang berisi nilai elemen daftar jika inputnya adalah jenis daftar XSD.

- Extended operator (UDX) XQUERY DATA mengevaluasi fungsi XQuery fn:data() pada input yang mewakili simpul XML. Ini adalah operator agregasi string sensitif pesanan. Ini menghasilkan satu baris dengan kolom yang mewakili skalar XQuery yang berisi hasil fn:data().

- Operator yang diperluas XQUERY CONTAINS mengevaluasi fungsi XQuery fn:contains() pada input yang mewakili simpul XML. Ini adalah operator agregasi string sensitif pesanan. Ini menghasilkan satu baris dengan kolom yang mewakili skalar XQuery yang berisi hasil fn:contains().

- Operator yang diperluas MEMPERBARUI simpul XML PEMBARUAN XML di XQuery menggantikan ekstensi modifikasi data dalam modify() metode pada jenis XML.

Operator UDX adalah operator logis dan fisik.
union Operator Union memindai beberapa input, menghasilkan setiap baris yang dipindai dan menghapus duplikat.

Union adalah operator logis.
Pembaruan Operator Pembaruan memperbarui setiap baris dari inputnya dalam objek yang ditentukan di panel Properti dari rencana eksekusi kueri.

Pembaruan adalah operator logis. Operator fisik adalah Pembaruan Tabel, Pembaruan Indeks, atau Pembaruan Indeks Berkluster.
Penculikan Jendela Operator Window Spool memperluas setiap baris ke dalam kumpulan baris yang mewakili jendela yang terkait dengannya. Dalam kueri, OVER klausa menentukan jendela dalam kumpulan hasil kueri dan fungsi jendela lalu menghitung nilai untuk setiap baris di jendela.

Window Spool adalah operator logis dan fisik.

Catatan

Dokumentasi SQL Server menggunakan istilah pohon B umumnya dalam referensi ke indeks. Dalam indeks rowstore, SQL Server mengimplementasikan pohon B+. Ini tidak berlaku untuk indeks penyimpan kolom atau penyimpanan data dalam memori. Untuk informasi selengkapnya, lihat panduan arsitektur dan desain indeks SQL Server dan Azure SQL.