Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
SQL-databas i Förhandsversion av Microsoft Fabric
I SMO kan statistisk information om bearbetning av frågor i databasen samlas in med hjälp Statistic av objektet.
Det går att skapa statistik för valfri kolumn med hjälp Statistic av objektet och StatisticColumn . Metoden Update kan köras för att uppdatera statistiken i Statistic objektet. Resultaten kan visas i Frågeoptimeraren.
Example
Om du vill använda ett kodexempel som tillhandahålls kan du välja programmeringsmiljö, programmeringsmallen och programmeringsspråket som programmet ska skapas på. Mer information finns i Skapa ett Visual C# SMO-projekt i Visual Studio .NET.
Skapa och uppdatera statistik i Visual Basic
Det här kodexemplet skapar en ny tabell i en befintlig databas som Statistic objektet och StatisticColumn objektet skapas för.
'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Reference the AdventureWorks2022 database.
Dim db As Database
db = srv.Databases("AdventureWorks2022")
'Reference the CreditCard table.
Dim tb As Table
tb = db.Tables("CreditCard", "Sales")
'Define a Statistic object by supplying the parent table and name arguments in the constructor.
Dim stat As Statistic
stat = New Statistic(tb, "Test_Statistics")
'Define a StatisticColumn object variable for the CardType column and add to the Statistic object variable.
Dim statcol As StatisticColumn
statcol = New StatisticColumn(stat, "CardType")
stat.StatisticColumns.Add(statcol)
'Create the statistic counter on the instance of SQL Server.
stat.Create()
Skapa och uppdatera statistik i C#
Det här kodexemplet skapar en ny tabell i en befintlig databas som Statistic objektet och StatisticColumn objektet skapas för.
public static void CreatingAndUpdatingStatistics()
{
// Connect to the local, default instance of SQL Server.
var srv = new Server();
// Reference the AdventureWorks2022 database.
var db = srv.Databases["AdventureWorks"];
// Reference the CreditCard table.
var tb = db.Tables["CreditCard", "Sales"];
// Define a Statistic object by supplying the parent table and name
// arguments in the constructor.
var stat = new Statistic(tb, "Test_Statistics");
// Define a StatisticColumn object variable for the CardType column
// and add to the Statistic object variable.
var statcol = new StatisticColumn(stat, "CardType");
stat.StatisticColumns.Add(statcol);
//Create the statistic counter on the instance of SQL Server.
stat.Create();
// List all the statistics object on the table (you will see the newly created one)
foreach (var s in tb.Statistics.Cast<Statistic>())
Console.WriteLine($"{s.ID}\t{s.Name}");
// Output:
// 2 AK_CreditCard_CardNumber
// 1 PK_CreditCard_CreditCardID
// 3 Test_Statistics
}
Skapa och uppdatera statistik i PowerShell
Det här kodexemplet skapar en ny tabell i en befintlig databas som Statistic objektet och StatisticColumn objektet skapas för.
Import-Module SQLServer
# Connect to the local, default instance of SQL Server.
$srv = Get-Item SQLSERVER:\SQL\localhost\DEFAULT
# Reference the AdventureWorks database.
$db = $srv.Databases["AdventureWorks"]
# Reference the CreditCard table.
$tb = $db.Tables["CreditCard", "Sales"]
# Define a Statistic object by supplying the parent table and name
# arguments in the constructor.
$stat = New-Object Microsoft.SqlServer.Management.Smo.Statistic($tb, "Test_Statistics")
# Define a StatisticColumn object variable for the CardType column
# and add to the Statistic object variable.
$statcol = New-Object Microsoft.SqlServer.Management.Smo.StatisticColumn($stat, "CardType")
$stat.StatisticColumns.Add($statcol)
# Create the statistic counter on the instance of SQL Server.
$stat.Create()
# Finally dump all the statistics (you can see the newly created one at the bottom)
$tb.Statistics
# Output:
# Name Last Updated Is From Index Statistic Columns
# Creation
# ---- ------------ -------------- -----------------
# AK_CreditCard_CardNumber 10/27/2017 2:33 PM True {CardNumber}
# PK_CreditCard_CreditCardID 10/27/2017 2:33 PM True {CreditCardID}
# Test_Statistics 6/4/2020 8:11 PM False {CardType}