MENGATUR STATISTIK IO (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Menyebabkan SQL Server menampilkan informasi tentang jumlah aktivitas IO fisik dan logis yang dihasilkan oleh pernyataan T-SQL. IO fisik terkait dengan mengakses halaman data pada disk dan IO logis terkait dengan mengakses halaman data dalam memori (cache data).

Konvensi sintaks transact-SQL

Sintaksis

  
SET STATISTICS IO { ON | OFF }  

Catatan

Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.

Keterangan

Saat STATISTICS IO AKTIF, informasi statistik ditampilkan, dan saat NONAKTIF, informasi tidak ditampilkan.

Setelah opsi ini diatur AKTIF, semua pernyataan Transact-SQL mengembalikan informasi statistik hingga opsi diatur ke NONAKTIF.

Tabel berikut ini mencantumkan dan menjelaskan item output.

Item output Makna
Table Nama tabel.
Jumlah pemindaian Jumlah pencarian atau pemindaian dimulai setelah mencapai tingkat daun ke segala arah untuk mengambil semua nilai guna membangun himpunan data akhir untuk output.

Jumlah pemindaian adalah 0 jika indeks yang digunakan adalah indeks unik atau indeks berkluster pada kunci utama dan Anda hanya mencari satu nilai. Contohnya, WHERE Primary_Key_Column = <value>.

Jumlah pemindaian adalah 1 saat Anda mencari satu nilai menggunakan indeks berkluster non-unik yang ditentukan pada kolom kunci non-primer. Proses ini dilakukan untuk memeriksa nilai duplikat untuk nilai kunci yang Anda cari. Contohnya, WHERE Clustered_Index_Key_Column = <value>.

Jumlah pemindaian adalah N ketika N adalah jumlah pencarian atau pemindaian yang berbeda yang dimulai ke sisi kiri atau kanan pada tingkat daun setelah menemukan nilai kunci menggunakan kunci indeks.
pembacaan logis Jumlah halaman yang dibaca dari cache data.
bacaan fisik Jumlah halaman yang dibaca dari disk.
bacaan read-ahead Jumlah halaman yang ditempatkan ke dalam cache untuk kueri.
lob logical reads Jumlah halaman yang dibaca dari cache data. Termasuk teks, ntext, gambar, varchar(maks), nvarchar(max), varbinary(max), atau halaman indeks penyimpan kolom.
baca fisik lob Jumlah halaman yang dibaca dari disk. Termasuk teks, ntext, gambar, varchar(maks), nvarchar(max), varbinary(max), atau halaman indeks penyimpan kolom.
lob read-ahead read-ahead Jumlah halaman yang ditempatkan ke dalam cache untuk kueri. Termasuk teks, ntext, gambar, varchar(maks), nvarchar(max), varbinary(max), atau halaman indeks penyimpan kolom.

Pengaturan SET STATISTICS IO diatur pada waktu eksekusi atau run time dan bukan pada waktu penguraian.

Catatan

Ketika pernyataan Transact-SQL mengambil kolom LOB, beberapa operasi pengambilan LOB mungkin memerlukan melintasi pohon LOB beberapa kali. Hal ini dapat menyebabkan SET STATISTICS IO melaporkan bacaan logis yang lebih tinggi dari yang diharapkan.

Izin

Untuk menggunakan SET STATISTICS IO, pengguna harus memiliki izin yang sesuai untuk menjalankan pernyataan Transact-SQL. Izin SHOWPLAN tidak diperlukan.

Contoh

Contoh ini menunjukkan berapa banyak bacaan logis dan fisik yang digunakan oleh SQL Server saat memproses pernyataan.

USE AdventureWorks2022;  
GO         
SET STATISTICS IO ON;  
GO  
SELECT *   
FROM Production.ProductCostHistory  
WHERE StandardCost < 500.00;  
GO  
SET STATISTICS IO OFF;  
GO  

Berikut adalah hasilnya:

Table 'ProductCostHistory'. Scan count 1, logical reads 5, physical   
reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0,   
lob read-ahead reads 0.  

Lihat Juga

Pernyataan SET (Transact-SQL)
SET SHOWPLAN_ALL (Transact-SQL)
MENGATUR WAKTU STATISTIK (Transact-SQL)