SQL分页
SQL分页很多人都碰到过,把项目中感觉比较方便的案例拿出来给大家分享下
string sql = SqlSplitPage(strSql.ToString(), pageIndex, pageSize, " TIME asc ");
/// <summary> /// SQL分页 /// </summary> /// <param name="strSql">查询SQL</param> /// <param name="pageIndex">第几页</param> /// <param name="pageSize">每页多少条</param> /// <param name="orderColumn">排序字段</param> /// <returns></returns> public string SqlSplitPage(string strSql, int pageIndex, int pageSize, string orderColumn) { string SqlSplit = string.Format(@" SELECT * FROM ( SELECT ROW_NUMBER() OVER(ORDER BY {1} ) ROWNU, TB.* FROM ({0}) TB ) A WHERE 1=1 ", strSql, orderColumn ); string dataSql = string.Format(@" {0} AND ROWNU BETWEEN {1} AND {2} ", SqlSplit, (pageIndex - 1) * pageSize + 1, pageIndex * pageSize); return dataSql;
千万数据 一页显示二十条 在sql server 查询时间是 18 19秒