Přihlásit se pomocí účtu Microsoft
Přihlaste se nebo si vytvořte účet.
Dobrý den,
Vyberte jiný účet.
Máte více účtů.
Zvolte účet, pomocí kterého se chcete přihlásit.

Souhrn

Tento článek obsahuje dotaz a porovnejte počet skutečných řádků a počet řádků ve statistice paralelní datového skladu pro určitou tabulku nebo pro všechny tabulky v aktuální databázi. Pokud hodnoty počet řádků se příliš výrazně liší, paralelní datového skladu nemá přesné statistiky pro tuto tabulku. To může způsobit Optimalizátor paralelní datového skladu zvolte operace a data pohyby nejsou účinné a které by mohly způsobit časy spuštění dlouhého dotazu.

Další informace

Spusťte následující dotaz, chcete-li zobrazit srovnání počet skutečných řádků a počet řádků seznamu důvěryhodných certifikátů zobrazený ve statistice paralelní datového skladu:

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




Poznámky

  • Následující dotaz vyhodnotí počty řádků a není mohutnost. Také vyžaduje, že existují statistiky úrovně paralelní datového skladu na nejméně jeden sloupec v tabulce. Není zohledněn v úvahu zda existují statistiky o více než jeden sloupec nebo sloupec, jehož existují statistiky.

  • Výchozí hodnota pro počet v paralelní datový sklad je 1 000 řádků. Pokud byly vytvořeny žádné statistiky paralelní datového skladu, je vrácena hodnota 1000 pro počet řádků seznamu důvěryhodných certifikátů.

Potřebujete další pomoc?

Rozšiřte své znalosti a dovednosti

Projít školení >

Získejte nové funkce jako první

ZAPOJTE SE DO PROGRAMU MICROSOFT 365 INSIDER

Byly tyto informace užitečné?

Jak jste spokojeni s kvalitou jazyka?
Co ovlivnilo váš názor?

Děkujeme vám za zpětnou vazbu.

×