ASP.NET 2.0里轻松获取数据库连接统计数据

  • 来源: 互联网 作者: rocket   2008-03-24/14:17
  • ASP.NET 2.0中的SqlConnection多了一个StatisticsEnabled属性和ResetStatistics()、RetrieveStatistics()两个方法,用于获取SQLServer的连接统计数据。

    <%@ Import Namespace="System.Data" %>
    <%@ Import Namespace="System.Data.SqlClient" %>
    <%@ page language="C#" %>
    <script runat="server">
        void Page_Load(object sender, EventArgs e)
        {
            string connString = "Northwind的连接串";
            SqlConnection conn = new SqlConnection(connString);
            conn.StatisticsEnabled = true;
            conn.ResetStatistics();
            conn.Open();
            SqlCommand cmd = new SqlCommand("SELECT * FROM Orders", conn);
            SqlDataReader reader = cmd.ExecuteReader();
            reader.Close();
            conn.Close();

            Hashtable ht = (Hashtable)conn.RetrieveStatistics();
            foreach (string key in ht.Keys)
            {
                Label1.Text += "Key: " + key + " = " + ht + "<BR />";
            }
        }
    </script>
    <html>
    <head id="Head1" runat="server">
        <title>Untitled Page</title>
    </head>
    <body>
        <form id="Form1" runat="server" autocomplete="on">
            <asp:Label ID="Label1" Runat="server" Text=""></asp:Label>
        </form>
    </body>
    </html>

    运行后的结果就是SQLServer连接统计数据结果:

    Key: NetworkServerTime = 0
    Key: BytesReceived = 156913
    Key: UnpreparedExecs = 1
    Key: SumResultSets = 1
    Key: SelectCount = 1
    Key: PreparedExecs = 0
    Key: ConnectionTime = 30
    Key: ExecutionTime = 30
    Key: Prepares = 0
    Key: BuffersSent = 1
    Key: SelectRows = 830
    Key: ServerRoundtrips = 1
    Key: CursorOpens = 0
    Key: Transactions = 0
    Key: BytesSent = 48
    Key: BuffersReceived = 20
    Key: IduRows = 0
    Key: IduCount = 0



    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多