PDW_SHOWMATERIALIZEDVIEWOVERHEAD DBCC (Transact-SQL)
Berlaku untuk:Azure Synapse Analytics
Menampilkan jumlah perubahan inkremental dalam tabel dasar yang ditahan untuk tampilan materialisasi di Azure Synapse Analytics. Rasio overhead dihitung sebagai TOTAL_ROWS / MAX (1, BASE_VIEW_ROWS).
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
Nama skema tempat tampilan berada.
materialized_view_name
Nama tampilan yang dimaterialisasi.
Keterangan
Untuk menjaga tampilan materialisasi tetap direfresh 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");
Contoh output:
OBJECT_ID | BASE_VIEW_ROWS | TOTAL_ROWS | OVERHEAD_RATIO |
---|---|---|---|
1234 | 1 | 3 | 3.0 |
B. Contoh ini memperlihatkan bagaimana overhead tampilan terwujud meningkat saat perubahan data dalam tabel dasar
Buat tabel:
CREATE TABLE t1 (c1 INT NOT NULL, c2 INT NOT NULL, c3 INT NOT NULL);
Sisipkan lima baris ke dalam 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);
Buat 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 ada perubahan data dalam tabel dasar.
DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD ("dbo.mv1")
Contoh 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 (Transact-SQL)
- sys.pdw_materialized_view_column_distribution_properties (Transact-SQL)
- sys.pdw_materialized_view_distribution_properties (Transact-SQL)
- sys.pdw_materialized_view_mappings (Transact-SQL)
- Tampilan Katalog Analitik Azure Synapse dan Gudang Data Paralel
- Tampilan sistem yang didukung di Azure Synapse Analytics
- Pernyataan T-SQL yang didukung di Azure Synapse Analytics
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk