学习啦>学习电脑>电脑硬件知识>内存知识>

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 分页 容易

  解决方案三:

  分页还是用存储过程好些

    1335894