作者SinclairShen (SinclairShen)
看板C_Sharp
标题[问题] 连结MS SQL产生系统效能低落
时间Mon Aug 10 23:25:38 2009
能否请教各位大大一个问题...
目前有一个期货的资料库(future2),
里面有一个资料表(futureData),
共有八百万笔资料,
在select时就会把电脑3G的记忆体吃完,
也尝试过改成以"每日"来select资料(每日大约有20万笔资料),
也是会很快的把记忆体吃完,
最後系统会变得非常慢…
把资料放到DataSet之後,已经有把连资料库的部份close和dispose了,
那所占的记忆体空间怎麽没被释放掉?
谢谢
source code:
DataSet enDataSet = new DataSet();
enDataSet.Tables.Add("future_data");
public void conDB_future(string strSql)
{
string connStr = "Data Source=localhost;
database=future2;uid=sinclair2;
pwd=222;Connection Timeout=3600;pooling=false;";
SqlConnection conn1 = new SqlConnection(connStr);
conn1.Open();
SqlDataAdapter conAdapter1 = new SqlDataAdapter(strSql, conn1);
conAdapter1.Fill(enDataSet, "future_data");
conAdapter1.Dispose();
conn1.Close();
conn1.Dispose();
}
public void button1_Click(object sender, EventArgs e)
{
string strSql = "";
strSql = "select * from futureData ";
//
//strSql = "select * from futureData where 交易日期='" + sData + "'";
//
conDB_future(strSql);
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.47.247.129
1F:→ taicomjp:SQL版本? DataSet就是把资料暂存记忆体 08/11 00:05
2F:→ SinclairShen:SQL server 2005企业版 08/11 00:25
3F:推 pyrochlore:SQL Server的最大伺服器记忆体有设定吗? 08/11 00:46
4F:→ pico2k:善用分页的技巧... 08/11 08:28
5F:推 deuter:没有人会把八百万笔资料全部抓进dataaset啦! 08/11 11:45
6F:推 ntcbacc:嗯啊,哪个人眼睛这麽强可以看这麽多笔 08/11 12:50
7F:→ Eleganse:不知道bcp(bulk copy)技术能不能解决你的问题 08/11 15:37
8F:→ Eleganse:八百万笔应该没什麽才对,请参考 08/11 15:41
10F:→ Eleganse:&entryid=3921 (由於推文一行排不下,分成二行) 08/11 15:42
12F:→ ydchiang:SQL Server 2005预设会尽量使用系统的记忆体 08/11 22:27
13F:→ ydchiang:不知道你的table有多少栏位,八百万笔都抓到dataset 08/11 22:29
14F:→ ydchiang:Client端浪费太多记忆体,其次I/O的传输也会造成效能问题 08/11 22:30
15F:→ ydchiang:用分页的技巧或是设定筛选条件减少datatable内的资料量吧 08/11 22:32
16F:→ wave1et:资料是存在DataSet,把DataSet 释放掉吧 08/15 13:38
17F:推 maxi326:DataReader? 08/26 15:38