zoukankan      html  css  js  c++  java
  • 关于数据库及存储过程

    数据库中count(*)和count(数字)的区别:
    我们知道要查询一个表的记录数,通常使用Select count(*) from 表名,那么它和count(数字),这里的数字可以是任意数字,又有何区别呢?count(*)在查询汇总的时候是去遍历表字段大
    小最短的那一列,而count(数字),打个比方,count(1)就是在查询结果后面加一列,那一列的数据全是1,统计有多少个1,所以这里的数字无论是什么都可以,所以这两个方法从执行效率上
    讲,没有高低之分,因为字段的长度有的比int还小,那么count(*)就比count(数字)的效率高,反之则低,要据实际情况而论。

    exec 存储过程名
    exec ('SQL语句')

    数据访问层使用存储过程(例子):

    public List<Model.HKSJ_Main> LoadDataByPage(int pageIndex, int pageSize, out int total)
    {
    //执行一个存储过程将当前页数据查询出来。

    SqlParameter totalPara = new SqlParameter("@total", SqlDbType.Int);
    DataSet ds = new DataSet();


    using (SqlConnection conn = new SqlConnection(DbHelperSQL.connectionString))
    {
    conn.Open();

    using (SqlDataAdapter adapter = new SqlDataAdapter("PR_LoadPageData", conn))
    {
    adapter.SelectCommand.CommandType = CommandType.StoredProcedure;

    adapter.SelectCommand.Parameters.AddWithValue("@pageSize", pageSize);
    adapter.SelectCommand.Parameters.AddWithValue("@pageIndex", pageIndex);


    totalPara.Direction = ParameterDirection.Output;//输出参数。
    adapter.SelectCommand.Parameters.Add(totalPara);


    adapter.Fill(ds);
    }
    }

    total = int.Parse(ds.Tables[1].Rows[0][0].ToString());
    total =(int)totalPara.Value;

    //把DataSet数据转成集合数据
    return DataTableToList(ds.Tables[0]);


    }

  • 相关阅读:
    springboot2.1.3使用jdbcTemplate
    httpclient4.5.2 Post请求支持http和https
    springboot2.1.3+spring-session2.1.4分库处理
    mysql查看当前实时连接数
    springboot2.1.3+Junit4 单元测试
    subprocess.Popen()详解
    matplotlib 设置图形大小时 figsize 与 dpi 的关系
    matplotlib之subplot
    matplotlib.pyplot.plot()参数详解
    plt.rcParams属性总结
  • 原文地址:https://www.cnblogs.com/chens2865/p/3299194.html
Copyright © 2011-2022 走看看