首页 > 数据库 >怎么减轻单次大查询数据库压力

怎么减轻单次大查询数据库压力

时间:2022-10-12 13:45:27浏览次数:55  
标签:arr currNo pageSize 减轻 查询数据库 var total 单次

  • 分多次查询,减少数据库压力
var pageList = new Dictionary<int, int>();//分批次查询
var pageSize = 10000;//每次返回1w条
float total = 总条数;
var arr = (total / pageSize).ToString().Split('.');
var totalPage = int.Parse(arr[0]) + (arr.Length == 2 ? 1 : 0);//有小数则+1
for (int currNo = 1; currNo <= totalPage; currNo++)
{
	int startNum = 1 + (pageSize * (currNo - 1));//起
	int endNum = pageSize * currNo; //止
	pageList.Add(startNum, endNum);
}
var dt = new DataTable();
//分批次查询
foreach (var item in pageList)
{
	var tempSql =  $" select * from (select rownum rn ,tbl.* from tbl ) where rn between {item.Key} and {item.Value}"; //分页查询
	var tempDt = GetTable(tempSql);
	if (tempDt != null && tempDt.Rows.Count > 0)
	{
		dt.Merge(tempDt);
	}
}

标签:arr,currNo,pageSize,减轻,查询数据库,var,total,单次
From: https://www.cnblogs.com/anjun-xy/p/16784244.html

相关文章