MENGATUR STATISTIK IO (Transact-SQL)

Berlaku untuk: SQL Server (semua versi yang didukung) Azure SQL Database Azure SQL Managed Instance

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

Ikon tautan topikKonvensi Sintaks Transact-SQL

Sintaks

  
SET STATISTICS IO { ON | OFF }  

Catatan

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

Keterangan

Saat STATISTIK 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 mencantumkan dan menjelaskan item output.

Item output Makna
Tabel Nama tabel.
Jumlah pemindaian Jumlah pencarian atau pemindaian dimulai setelah mencapai tingkat daun ke arah mana pun 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 primer dan Anda hanya mencari satu nilai. Contohnya:WHERE Primary_Key_Column = <value>

Jumlah pemindaian adalah 1 saat Anda mencari satu nilai menggunakan indeks berkluster yang tidak 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 di 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(max), nvarchar(max), varbinary(max), atau halaman indeks columnstore.
baca fisik lob Jumlah halaman yang dibaca dari disk. Termasuk teks, ntext, gambar, varchar(max), nvarchar(max), varbinary(max), atau halaman indeks columnstore.
bacaan lob read-ahead Jumlah halaman yang ditempatkan ke dalam cache untuk kueri. Termasuk teks, ntext, gambar, varchar(max), nvarchar(max), varbinary(max), atau halaman indeks columnstore.

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 pembacaan 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 pembacaan logis dan fisik yang digunakan oleh SQL Server saat memproses pernyataan.

USE AdventureWorks2012;  
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)