【问题标题】:code optimisation asp.net c#代码优化 asp.net c#
【发布时间】:2010-11-18 07:34:52
【问题描述】:

下面给出的代码在网络浏览器中加载需要无限长的时间,当我单击 Button2 时,我的浏览器继续加载....并且不显示输出。我可以在下面给出的代码中做些什么来提高处理速度。

protected void Button2_Click(object sender, EventArgs e)
    {
        String a = DropDownList1.SelectedItem.Value;
        String b = DropDownList3.SelectedItem.Value.PadLeft(3, '0');      
        String c = TextBox2.Text.PadLeft(5,'0').ToString();
        String d = TextBox3.Text.ToString();
        String digit = a+ b  + c + d;
        string sql = "select * from testcase.main where reg_no =?";
        string sql1 = "select jname, jcode from heardt inner join judge ON heardt.jud1 = jcode";

try
            {
                using (OdbcConnection myConn = new OdbcConnection("Driver={MySQL ODBC 3.51 Driver};Server=localhost;Database=testcase;User=root;Password=root;Option=3;"))
                {  
                     using (OdbcCommand cmd = new OdbcCommand(sql, myConn)) 
                        {
                            myConn.Open();
                            cmd.Parameters.AddWithValue("?", digit);
                            using (OdbcDataReader MyReader = cmd.ExecuteReader())
                                 {
                                    //**
                                    while (MyReader.Read())
                                    {
                                        String f = MyReader["pet_name"].ToString();
                                       String g = MyReader["res_name"].ToString();

                                        Label9.Visible = true;
                                        Label9.Text = f;

                                        Label10.Visible = true;
                                        Label10.Text = "VS";

                                        Label11.Visible = true;
                                        Label11.Text = g;

                                     }
                                 }
                         }
                }
            }
            catch (Exception e1)
            {
                Response.Write(e1.ToString());
            }
//***********************
try
        {
            using (OdbcConnection myConn = new OdbcConnection("Driver={MySQL ODBC 3.51 Driver};Server=localhost;Database=testcase;User=root;Password=root;Option=3;"))
            {
                using (OdbcCommand cmd1 = new OdbcCommand(sql1, myConn))
                {
                    myConn.Open();

                    using (OdbcDataReader MyReader1 = cmd1.ExecuteReader())
                    {
                        //**
                        while (MyReader1.Read())
                        {
                            String f = MyReader1["jname"].ToString();
                            DropDownList4.Items.Add(f);

                        }
                    }
                }
            }
        }
        catch (Exception ee1)
        {
            Response.Write(ee1.ToString());
        }
 }

下面的查询有没有其他不使用join操作的方式来执行查询??

select jname, jcode from heardt inner join judge ON heardt.jud1 = jcode

【问题讨论】:

  • 第一件事:哪里需要很长时间?在数据库中,还是在 .NET 代码中?
  • 你有关于列 reg_no、jud1 和 jcode 的索引吗?
  • 对于初学者 - 为什么你应该使用 MySQL .NET 连接器时使用 ODBC?
  • @foo 我该如何使用它?有什么教程可以使用吗?我的老师告诉我要使用 ODBC 本身。

标签: c# asp.net sql mysql


【解决方案1】:

1-看这个查询是否选择jname,jcode from heartt inner join判断ON heartt.jud1 = jcode耗时多少。

2-看看你是否可以为 MySQL 使用除 ODBC 之外的其他驱动程序,我假设你正在使用 MySQL 数据库

【讨论】:

    【解决方案2】:
    1. 您真的需要从第一个 sql 中获取所有列吗? ("选择 *...")

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-13
      • 1970-01-01
      • 2013-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-01
      相关资源
      最近更新 更多