sql内存溢出怎么解决
sql内存溢出怎么解决?编程的时候或多或少会遇到这种问题,那么解决方法是什么样呢?下面是小编收集整理的一些相关的知识,希望对大家有帮助!
sql内存溢出怎么解决?
举个栗子
一句简单SQL引发了内存溢出
string sqlText = "SELECT T.* FROM fats T ";
OracleCommand cmd = new OracleCommand(sqlText);
pageDt=new DbUtility().Query(cmd);
DbUtility是一个数据库帮助类,和大部分的没什么区别
问题是该页面执行别的的语句没问题
public partial class ShipMovingSearch : BasePage
{
protected DataTable pageDt;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
InitPage();
}
}
private void InitPage()
{
string SqlForDropType = "select * from fbtype t";
OracleCommand cmd = new OracleCommand(SqlForDropType);
this.DropShipType.DataSource = new DbUtility().Query(cmd);
this.DropShipType.DataTextField = "TYPE_NAME";
this.DropShipType.DataValueField = "TYPE_ID";
this.DropShipType.DataBind();
//BtnSearch_Click(this.BtnSearch, new EventArgs());
}
protected void BtnSearch_Click(object sender, EventArgs e)
{
string sqlText = "SELECT T.* FROM fats T ";
OracleCommand cmd = new OracleCommand(sqlText);
pageDt=new DbUtility().Query(cmd);
}
}
init里面的sql执行就没问题
一到按钮按下就出问题
sql内存溢出的解决方法
解决方案一:
select top 20 * from fats where sid not in (select top 40 sid from fats order by sid )
解决方案二:
升级到sql2012 分页 容易
解决方案三:
分页还是用存储过程好些