Erstellen und Aktualisieren von Statistiken

In SMO können statistische Informationen über die Verarbeitung von Abfragen in der Datenbank mithilfe des Statistic-Objekts gesammelt werden.

Über das Statistic- und das StatisticColumn-Objekt ist es möglich, für jede beliebige Spalte Statistiken zu erstellen. Die Update-Methode kann ausgeführt werden, um die Statistik im Statistic-Objekt zu aktualisieren. Die Ergebnisse können im Abfrageoptimierer angezeigt werden.

Beispiel

Um die bereitgestellten Codebeispiele verwenden zu können, müssen Sie die Programmierumgebung, die Programmiervorlage und die Programmiersprache wählen, in der die Anwendung erstellt werden soll. Weitere Informationen finden Sie unter Vorgehensweise: Erstellen eines Visual Basic-SMO-Projekts in Visual Studio .NET oder Vorgehensweise: Erstellen eines Visual C#-SMO-Projekts in Visual Studio .NET.

Erstellen und Aktualisieren von Statistiken in Visual Basic

In diesem Codebeispiel wird in einer vorhandenen Datenbank eine neue Tabelle erstellt, für die das Statistic-Objekt und das StatisticColumn-Objekt erstellt werden.

'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Reference the AdventureWorks database.
Dim db As Database
db = srv.Databases("AdventureWorks")
'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()

Erstellen und Aktualisieren von Statistiken in Visual C#

In diesem Codebeispiel wird in einer vorhandenen Datenbank eine neue Tabelle erstellt, für die das Statistic-Objekt und das StatisticColumn-Objekt erstellt werden.

{ 
//Connect to the local, default instance of SQL Server. 
   Server srv = default(Server); 
   srv = new Server(); 
   //Reference the AdventureWorks database. 
   Database db = default(Database); 
   db = srv.Databases("AdventureWorks"); 
   //Reference the CreditCard table. 
   Table tb = default(Table); 
   tb = db.Tables("CreditCard", "Sales"); 
   //Define a Statistic object by supplying the parent table and name 
   //arguments in the constructor. 
   Statistic stat = default(Statistic); 
   stat = new Statistic(tb, "Test_Statistics"); 
   //Define a StatisticColumn object variable for the CardType column 
   //and add to the Statistic object variable. 
   StatisticColumn statcol = default(StatisticColumn); 
   statcol = new StatisticColumn(stat, "CardType"); 
   stat.StatisticColumns.Add(statcol); 
   //Create the statistic counter on the instance of SQL Server. 
   stat.Create(); 
}