ASP.NET(C#)和Sql2005组合性能问题研究

我现在遇到两个性能问题,请大家一起研究!~

第一个问题:
 我们网站的信息系统,每天新增100W条用户数据,不知道如果解决才能查询更新
更快,更合理
 现有做法
 我们现在用Sql 2005已经按用户做过表分区了,每个表分区中每天有5W新增数
据.并且分区也不能的磁盘中,I/O也不是题,但就是因为数据量很大,如果我们只保存用
户3天内的聊天交友信息,数据量一定很稳定,但现在我们要保存数据1个月,也就是表中
有3000W条数据信息.查询很慢.
 表结构如下:

CREATE   TABLE   [ dbo ] . [ tb_message_new ] (
 
[ ID ]   [ int ]   IDENTITY ( 1 , 1 NOT   NULL ,
 
[ Userid ]   [ int ]   NOT   NULL ,
 
[ Userid_from ]   [ int ]   NULL   DEFAULT  (( 0 )),
 
[ UserName_from ]   [ varchar ] ( 30 )   DEFAULT  ( '' ),
 
[ Msgtype ]   [ int ]   NULL   DEFAULT  (( 0 )),
 
[ Content ]   [ varchar ] ( 500 DEFAULT  ( '' ),
 
[ Msgurl ]   [ varchar ] ( 200 )   DEFAULT  ( '' ),
 
[ Status ]   [ int ]   NULL   DEFAULT  (( 0 )),
 
[ Submit_time ]   [ datetime ]   NULL   DEFAULT  ( getdate ()),   CONSTRAINT
[ PK_tb_message_new ]   PRIMARY   KEY   NONCLUSTERED  (
 
[ ID ]   ASC
)
WITH  (PAD_INDEX   =   OFF , IGNORE_DUP_KEY  =   OFF ON   [ PRIMARY ]
ON   [ UserScheme ] ( [ Userid ] )

 ID是主键
 并且对userid,userid_frim,submit_time 做了索引


 第二个问题:
 当我闪公告或推荐一个条新闻数据,同时会有1W个用户并发查看(并发用户),我们的统计是每次+1,现在数
据库更新时有问题了,排队更新,速度太慢.
 我们现在想在程序中做统计,不进行数据库统计,每次在程序中+1,加到100后,
再更新一次数据库,程序这边数据清0.
但这样统计,数据有点不准确.
    以上是我们现在的方法,如果有更好的,还请各位大师指教..

你可能感兴趣的:(asp.net)