大半夜的我这有一个很严重的问题一直困扰这我一个数据库(SQL2008)里面有一张收支明细表:字段如下
Mark(1=收入,2=支出)ID(自增) Messages Mark Money CreateTime
1 您xxxx收入xx元 1 10.00 2012-11-01 20:10:10
2 您xxxx支出xx元 2 10.00 2012-11-01 21:10:10
3 您xxxx收入xx元 1 10.00 2012-11-01 22:10:10
4 您xxxx收入xx元 1 10.00 2012-11-01 23:10:10
...
2000000 您xxxx支出xx元 2 10.00 2012-11-01 23:30:10 这张表每天插入的数据大概是 几十万条数据左右每30分钟插入一些数据(这个每次插入也有几万),期间还有零零散散的一些插入问题就出现在这里 每次在插入的时候 执行(简单的SQL)查询就没法查询了 一直显示请求超时直到插入完毕才恢复
数据量小的时候没发现这个问题 直到后面数据量越来越大已经到了200多万了 真的是查询也费尽插入更费劲还有操作数据库用的普通的 ADO 希望这里有接触过百万数据的高手指点下 没接触的也可以帮帮忙 帮忙给出解决方案
Mark(1=收入,2=支出)ID(自增) Messages Mark Money CreateTime
1 您xxxx收入xx元 1 10.00 2012-11-01 20:10:10
2 您xxxx支出xx元 2 10.00 2012-11-01 21:10:10
3 您xxxx收入xx元 1 10.00 2012-11-01 22:10:10
4 您xxxx收入xx元 1 10.00 2012-11-01 23:10:10
...
2000000 您xxxx支出xx元 2 10.00 2012-11-01 23:30:10 这张表每天插入的数据大概是 几十万条数据左右每30分钟插入一些数据(这个每次插入也有几万),期间还有零零散散的一些插入问题就出现在这里 每次在插入的时候 执行(简单的SQL)查询就没法查询了 一直显示请求超时直到插入完毕才恢复
数据量小的时候没发现这个问题 直到后面数据量越来越大已经到了200多万了 真的是查询也费尽插入更费劲还有操作数据库用的普通的 ADO 希望这里有接触过百万数据的高手指点下 没接触的也可以帮帮忙 帮忙给出解决方案
存储过程执行速度比普通T-SQL要快
你可以试一试
2、改用存储过程,好处就不说了
3、检查你的查询语句,特别是where子句、索引。
还有就是 Messages 这个字段设计的有点看不懂,是不是多余了?
其实也有过应用,跟你情况一样,一边拉数据过来,一边业务操作,人家千万级的系统就是这样搞的。