PDW_SHOWMATERIALIZEDVIEWOVERHEAD DBCC (Transact-SQL)

Berlaku untuk:yes Azure Synapse Analytics

Menampilkan jumlah perubahan bertahap dalam tabel dasar yang ditahan untuk tampilan materialisasi di Azure Synapse Analytics. Rasio overhead dihitung sebagai TOTAL_ROWS / MAX (1, BASE_VIEW_ROWS).

Topic link iconKonvensi Sintaks T-SQL (Transact-SQL)

Sintaks

DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD ( " [ schema_name .] materialized_view_name  " )
[;]

Catatan

Sintaks ini tidak didukung oleh kumpulan SQL tanpa server di Azure Synapse Analytics.

Argumen

nama_skema
Adalah nama skema tempat tampilan berada.

materialized_view_name
Adalah nama tampilan materialisasi.

Keterangan

Untuk menjaga tampilan materialisasi tetap disegarkan dengan perubahan data dalam tabel dasar, mesin gudang data menambahkan baris pelacakan ke setiap tampilan yang terpengaruh untuk mencerminkan perubahan. Memilih dari tampilan materialisasi termasuk memindai indeks penyimpan kolom berkluster tampilan dan menerapkan perubahan bertahap.  Baris pelacakan (TOTAL_ROWS - BASE_VIEW_ROWS) tidak dihilangkan sampai pengguna MEMBANGUN KEMBALI tampilan materialisasi.

overhead_ratio dihitung sebagai TOTAL_ROWS/MAX(1, BASE_VIEW_ROWS). Jika tinggi, performa SELECT akan turun.  Pengguna dapat membangun kembali tampilan materialisasi untuk mengurangi rasio overhead-nya.

Izin

Memerlukan izin TAMPILKAN STATUS DATABASE.

Contoh

A. Contoh ini mengembalikan rasio overhead dari tampilan materialisasi.

DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD ( "dbo.MyIndexedView" )

Output:

OBJECT_ID BASE_VIEW_ROWS TOTAL_ROWS OVERHEAD_RATIO
1234 1 3 3.0

B. Contoh ini menunjukkan bagaimana overhead tampilan materialisasi meningkat saat perubahan data dalam tabel dasar

Membuat tabel

CREATE TABLE t1 (c1 INT NOT NULL, c2 INT NOT NULL, c3 INT NOT NULL)

Sisipkan lima baris ke t1

INSERT INTO t1 VALUES (1, 1, 1)
INSERT INTO t1 VALUES (2, 2, 2) 
INSERT INTO t1 VALUES (3, 3, 3) 
INSERT INTO t1 VALUES (4, 4, 4) 
INSERT INTO t1 VALUES (5, 5, 5) 

Membuat tampilan materialisasi MV1

CREATE MATERIALIZED VIEW MV1 
WITH (DISTRIBUTION = HASH(c1))  
AS
SELECT c1, COUNT(*) total_number 
FROM dbo.t1 WHERE c1 < 3
GROUP BY c1  

Memilih dari tampilan materialisasi mengembalikan dua baris.

c1 total_number
1 1
2 1

Periksa overhead tampilan materialisasi sebelum data berubah dalam tabel dasar.

DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD ("dbo.mv1")

Output:

OBJECT_ID BASE_VIEW_ROWS TOTAL_ROWS OVERHEAD_RATIO
587149137 2 2 1.00000000000000000

Perbarui tabel dasar. Kueri ini memperbarui kolom yang sama di baris yang sama 100 kali ke nilai yang sama. Konten tampilan materialisasi tidak berubah.

DECLARE @p INT
SELECT @p = 1
WHILE (@p < 101)
BEGIN
UPDATE t1 SET c1 = 1 WHERE c1 = 1
SELECT @p = @p+1
END  

Memilih dari tampilan materialisasi mengembalikan hasil yang sama seperti sebelumnya.

c1 total_number
1 1
2 1

Di bawah ini adalah output dari DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD ("dbo.mv1"). 100 baris ditambahkan ke tampilan materialisasi (total_row - base_view_rows) dan overhead_ratio nya ditingkatkan.

OBJECT_ID BASE_VIEW_ROWS TOTAL_ROWS OVERHEAD_RATIO
587149137 2 102 51.00000000000000000

Setelah membangun kembali tampilan materialisasi, semua baris pelacakan untuk perubahan data inkremental dihilangkan dan rasio overhead tampilan berkurang.

ALTER MATERIALIZED VIEW dbo.MV1 REBUILD
GO
DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD ("dbo.mv1")

Output

OBJECT_ID BASE_VIEW_ROWS TOTAL_ROWS OVERHEAD_RATIO
587149137 2 2 1.00000000000000000

Lihat juga

Penyetelan performa dengan Tampilan Materialisasi
BUAT TAMPILAN MATERIALISASI SEBAGAI PILIH (Transact-SQL)
ALTER MATERIALIZED VIEW (Transact-SQL)
JELASKAN (T-SQL)
sys.pdw_materialized_view_column_distribution_properties (T-SQL)
sys.pdw_materialized_view_distribution_properties (T-SQL)
sys.pdw_materialized_view_mappings (T-SQL)
Tampilan Katalog Gudang Data Paralel dan Azure Synapse Analytics
Tampilan sistem yang didukung di Azure Synapse Analytics
Pernyataan T-SQL yang didukung di Azure Synapse Analytics