PDW_SHOWMATERIALIZEDVIEWOVERHEAD DBCC (Transact-SQL)
Berlaku untuk:
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).
Konvensi 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