SQL性能问题ASP.Net App

用户名

我们的基于ASP.NET的Web应用程序中存在一个性能问题,当我们早晨登录时,该问题仅可见一次。根据下面的日志,查询耗时超过1分钟20秒。下次用户登录应用程序并尝试访问同一页面时,没有发现任何问题。您能否让我知道如何优化此查询?有什么想法可以解决这个问题吗?

日志 -

"11/13/15","08:38:27","ExecuteSql - ---3---- ","8",""
"11/13/15","08:38:27","ExecuteSql - ---4---- : SQL : SELECT TOP 1 CONVERT(varchar(15), Period_End_Date, 107) as PDate FROM PBHISTORY..STATEMENT_OF_CHANGE 
                                               ORDER BY Period_End_Date DESC","8",""
"11/13/15","08:39:48","ExecuteSql - ---5---- ","8",""

SQL:

SELECT TOP 1 
    CONVERT(varchar(15), Period_End_Date, 107) as PDate 
FROM  
   PBHISTORY..STATEMENT_OF_CHANGE
ORDER BY 
   Period_End_Date DESC

C#ASP.NET-

public string GetDateRangeReportingDate(int reportId)
{
    var report = GetReportInfoById(reportId);
    string sql = string.Format(@"SELECT TOP 1 CONVERT(varchar(15), Period_End_Date, 107) as PDate FROM {0}..{1} ORDER BY Period_End_Date DESC", _historyDatabase, report.SourceTableName);

    var data = ExecuteSql(sql);

    while (data.Read())
    {
        return data["PDate"].ToString();
    }

    return null;
}

private SqlDataReader ExecuteSql(string sql)
{
     SqlDataReader reader;
     SqlConnection conn;

     var commandTimeOut = ConfigurationManager.AppSettings["PBReportCommandTimeout"].ToString();
     string connString = ConfigurationManager.ConnectionStrings["PBReportCS"].ConnectionString;

     conn = new SqlConnection(connString);
     conn.Open();

     SqlCommand cmd = new SqlCommand(sql, conn);
     cmd.CommandTimeout = int.Parse(commandTimeOut);

     reader = cmd.ExecuteReader();
     return reader;
}
用户名

我找到了上面提到的性能问题的解决方案。问题是在表中建立索引错误,我通过更改表的索引(从中获取生产记录的位置)来解决此问题。

另外,我通过使用SQL数据适配器和语句来修复了框架级别的实体类。应用程序在生产中运行超级快。谢谢你的帮助。

私有字符串ExecuteSqlNew(string sql){字符串connectionString = ConfigurationManager.ConnectionStrings [“ PBReportCS”]。ConnectionString; 字符串commandTimeOut = ConfigurationManager.AppSettings [“ PBReportCommandTimeout”]。ToString(); DataSet结果= new DataSet(); 字符串pDate =“”;

        try
        {
            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                using (SqlCommand cmd = new SqlCommand(sql, conn))
                {
                    conn.Open();
                    cmd.CommandTimeout = int.Parse(commandTimeOut);
                    SqlDataAdapter adapter = new SqlDataAdapter();
                    adapter.SelectCommand = cmd;
                    adapter.Fill(result);
                    adapter.Dispose();
                    conn.Close();
                    pDate = result.Tables[0].Rows[0]["PDate"].ToString();
                }
            }
        }
        catch(Exception ex)
        {
            throw ex;
        }
        return pDate;

}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Where are the username and passwords stored in the default ASP.NET app?

来自分类Dev

AppHarbor的反向代理导致SSL和app.UseOAuthBearerTokens ASP.NET MVC 5问题

来自分类Dev

从ASP.net App访问Active Directory

来自分类Dev

将App for Office与ASP.NET MVC连接

来自分类Dev

ASP.Net vNext App_Data folder

来自分类Dev

ASP.Net vNext App_Data文件夹

来自分类Dev

Asp.net中的Active Directory性能问题

来自分类Dev

Asp.Net ViewState性能

来自分类Dev

ASP.Net 5 app.UseStaticFiles()错误输出

来自分类Dev

ASP.NET 5 JSON与Azure Web App

来自分类Dev

提高网站性能-ASP.NET

来自分类Dev

从.NET Core / ASP.NET Core中的类库访问App关键数据

来自分类Dev

ASP.NET Web应用程序Azure App Service远程调试中的问题

来自分类Dev

从ASP.NET Core访问Azure App Service ConnectionString

来自分类Dev

在IIS 7上部署ASP.Net MVC 4 App

来自分类Dev

SQL Server和ASP.NET MVC性能问题

来自分类Dev

AppHarbor的反向代理导致SSL和app.UseOAuthBearerTokens ASP.NET MVC 5问题

来自分类Dev

从ASP.net App访问Active Directory

来自分类Dev

ASP.net与远程SQL Server DB的数据库连接不在'App_Data'中

来自分类Dev

在ASP.NET MVC App中解码网址参数值

来自分类Dev

ASP.NET 6从app.ApplicationServices.GetService获取RazorViewEngineOptions

来自分类Dev

ASP.NET(VB)Web App上的FedEx WSDL帮助

来自分类Dev

.net BitArray.Get性能问题

来自分类Dev

ASP.NET App初始化

来自分类Dev

Linux上的asp.net核心docker + App Service

来自分类Dev

ASP.NET 中的 MigrateDatabaseToLatestVersion 性能

来自分类Dev

Visual Studio 2017 ASP.Net Publish Self-Contained Dot Net Core App

来自分类Dev

Firebase 性能监控和 App Indexing 的问题

来自分类Dev

ASP .NET MVC 5 网站的性能诊断

Related 相关文章

热门标签

归档