DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD (Transact-SQL)

Şunlar için geçerlidir: Azure Synapse Analytics

Azure Synapse Analytics'te maddeleştirilmiş görünümler için tutulan temel tablolarda tutulan artan değişiklikler sayısını gösterir. Üst gider oranı TOTAL_ROWS / MAX (1, BASE_VIEW_ROWS) olarak hesaplanır.

Transact-SQL söz dizimi kuralları

Syntax

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

Note

Bu söz dizimi, Azure Synapse Analytics'teki sunucusuz SQL havuzu tarafından desteklenmez.

Arguments

schema_name

Manzaranın ait olduğu şemanın adı.

materialized_view_name

Gerçekleştirilmiş görünümün adı.

Remarks

Temel tablolardaki veri değişiklikleriyle yenilenmiş görünümleri korumak için, veri deposu motoru etkilenen her görünüme değişiklikleri yansıtmak için takip satırları ekler. Maddeleştirilmiş bir görünümden seçim yapmak, görünümün kümelenmiş columnstore indeksini taramayı ve herhangi bir kademeli değişikliği uygulamayı içerir.  İzleme satırları (TOTAL_ROWS - BASE_VIEW_ROWS), kullanıcılar maddeleştirilmiş görünümü YENİDEN OLUŞTURANA kadar kaldırılmaz.

overhead_ratio TOTAL_ROWS / MAX(1, BASE_VIEW_ROWS) olarak hesaplanır. Eğer yüksekse, SELECT performansı düşer. Kullanıcılar, malzemeleştirilmiş görünümü yeniden inşa ederek genel maliyet oranını azaltabilirler.

Permissions

EYALET izni gerekiyorVIEWDATABASE.

Examples

A. Bu örnek, maddi bir görünümün genel yük oranını geri getirir.

DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD ("dbo.MyIndexedView");

Örnek çıkış:

OBJECT_ID BASE_VIEW_ROWS TOTAL_ROWS OVERHEAD_RATIO
1234 1 3 3.0

B. Bu örnek, temel tablolarda veri değiştikçe maddeleştirilmiş görünüm yükünün nasıl arttığını göstermektedir

Tablo oluşturma:

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

Beş satır ekleyin 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);

Maddeleştirilmiş görünümler oluşturun MV1:

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

Maddeleştirilmiş görünümden seçim yapmak iki satır döner.

c1 total_number
1 1
2 1

Temel tabloda herhangi bir veri değişikliği olmadan önce materyalize edilmiş görünüm yükünü kontrol edin.

DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD ("dbo.mv1")

Örnek çıkış:

OBJECT_ID BASE_VIEW_ROWS TOTAL_ROWS OVERHEAD_RATIO
587149137 2 2 1.00000000000000000

Temel tabloyu güncelleyin. Bu sorgu, aynı satırdaki aynı sütunu 100 kez aynı değere günceller. Maddeleştirilmiş görünüm içeriği değişmiyor.

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

Maddeleştirilmiş görünümden seçim yapmak önceki gibi aynı sonucu verir.

c1 total_number
1 1
2 1

Aşağıda 'den DBCC PDW_SHOWMATERIALIZEDVIEWOVERHEAD ("dbo.mv1")çıkan çıktı bulunmaktadır. Maddeleştirilmiş görünüme 100 satır eklenir (total_row - base_view_rows) ve overhead_ratio artırılır.

OBJECT_ID BASE_VIEW_ROWS TOTAL_ROWS OVERHEAD_RATIO
587149137 2 102 51.00000000000000000

Maddeleştirilmiş görünüm yeniden oluşturulduktan sonra, artan veri değişiklikleri için tüm takip satırları ortadan kaldırılır ve görünüm genel yük oranı düşürülür.

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 |

Ayrıca bakınız