Mit Microsoft anmelden
Melden Sie sich an, oder erstellen Sie ein Konto.
Hallo,
Wählen Sie ein anderes Konto aus.
Sie haben mehrere Konten.
Wählen Sie das Konto aus, mit dem Sie sich anmelden möchten.

Zusammenfassung

Dieser Artikel enthält eine Abfrage, um die tatsächliche Zeilenanzahl und die Anzahl der Zeilen in der Parallel Data Warehouse-Statistiken für eine bestimmte Tabelle oder für alle Tabellen in der aktuellen Datenbank vergleichen. Wenn Count Zeilenwerte zu stark abweichen, muss Parallel Data Warehouse nicht genaue Statistiken für diese Tabelle. Dadurch kann den Optimierer Parallel Data Warehouse Betriebs und Bewegung nicht effizient und verursachen, die lange Laufzeit Abfragen auswählen.

Weitere Informationen

Führen Sie die folgende Abfrage zeigen einen Vergleich zwischen der tatsächlichen Zeilenanzahl und CTL Zeilenanzahl, die in die Statistik Parallel Data Warehouse angezeigt wird:

SELECT db_name() as [Database],   pdwtbl.name as [Table], 
Sum(part.rows)/ max(pdwpart.partition_number)/8 AS CMP_ROW_COUNT,
sum(pdwpart.rows)/max(size.distribution_id)/max(pdwpart.partition_number)/8 AS CTL_ROW_COUNT
FROM sys.pdw_nodes_partitions part
JOIN sys.pdw_nodes_tables tbl
ON part.object_id = tbl.object_id
AND part.pdw_node_id = tbl.pdw_node_id
JOIN sys.pdw_distributions size
on size.pdw_node_id = tbl.pdw_node_id
JOIN sys.pdw_table_mappings map
ON map.physical_name = tbl.name
JOIN sys.tables pdwtbl
ON pdwtbl.object_id = map.object_id
JOIN sys.partitions pdwpart
ON pdwpart.object_id = pdwtbl.object_id
join sys.pdw_table_distribution_properties dist
on pdwtbl.object_id = dist.object_id
WHERE dist.distribution_policy = 2
-- uncomment the below if you are looking for row counts for a specific table
-- this table will also need to be added below
-- and pdwtbl.name = 'table_name'
GROUP BY pdwtbl.name
UNION ALL
SELECT db_name() as [Database],
pdwtbl.name,
Sum(part.rows)/ sum(pdwpart.partition_number) AS CMP_ROW_COUNT,
sum(pdwpart.rows) /max(pdwpart.partition_number) /(select count(type) from sys.dm_pdw_nodes where type = ''' + 'COMPUTE' + ''')
AS CTL_ROW_COUNT
FROM sys.pdw_nodes_partitions part
JOIN sys.pdw_nodes_tables tbl
ON part.object_id = tbl.object_id
AND part.pdw_node_id = tbl.pdw_node_id
JOIN sys.pdw_table_mappings map
ON map.physical_name = tbl.name
JOIN sys.tables pdwtbl
ON pdwtbl.object_id = map.object_id
JOIN sys.partitions pdwpart
ON pdwpart.object_id = pdwtbl.object_id
join sys.pdw_table_distribution_properties dist
on pdwtbl.object_id = dist.object_id
where dist.distribution_policy = 3
-- uncomment the below if you are looking for row counts for a specific table
-- this table will also need to be added below
-- and pdwtbl.name = 'table_name'
GROUP BY pdwtbl.name




Hinweise

  • Diese Abfrage nur die Zeilenanzahl und Kardinalität nicht ausgewertet. Außerdem muss Parallel Data Warehouse auf Statistiken für mindestens eine Spalte der Tabelle vorhanden sind. Es nicht berücksichtigt, ob Statistiken für mehrere Spalten vorhanden sind oder welche Spalte für die Statistiken vorhanden.

  • Der Standardwert für die Anzahl Parallel Data Warehouse ist 1.000 Zeilen. Wenn keine Statistiken Parallel Data Warehouse erstellt haben, wird Wert 1000 für die CTL Zeilenanzahl zurückgegeben.

Benötigen Sie weitere Hilfe?

Ihre Office-Fähigkeiten erweitern

Schulungen erkunden >

Neue Funktionen als Erster erhalten

Microsoft Insider beitreten >

War diese Information hilfreich?

Wie zufrieden sind Sie mit der Sprachqualität?
Was hat Ihre Erfahrung beeinflusst?

Vielen Dank für Ihr Feedback!

×