解决方案 »

  1.   

    如果内存足够,对磁盘的影响相对较小,如果内存不够,就很严重了。对数据库肯定有影响,不仅要维护索引、统计信息等,还会导致锁、latch等争用
      

  2.   

    120ms,一条记录,一天也就是720000条路罗?一个月就2QW数据了,这个重点是看你数据一行有多大,然后考虑你的硬盘增量,并设置计划迁移数据到历史表,或者定期删除历史数据什么的
    只要硬盘空间跟的上,别让一个表数据实际占用空间超过100G,再降历史表放在不同的库中,应该还好吧
    当然若增量式匀速的,最好别一条一条增加,在程序段建立一个缓存,然后一并提交过去,比如10条或者100条提交到数据库保存一次什么的,根据的一行数据量大小考虑。
      

  3.   

    UPDATE来更新数据库内固定的一条记录
    始终只涉及同一条记录,系统会把它缓存在内存里的不过,如果在应用服务程序的内存变量里,似乎更好
      

  4.   


    请sz_haitao 帮忙,如何使用应用服务程序的内存变量?
     
      

  5.   

    服务器运行一个常驻程序,它里面维护一个变量,提供查询和修改服务
    它如果支持http://server/app1?act=get&name=x和http://server/app1?act=put&name=x&value=123的接口
    由外部来查询和修改,就是REST接口了
    如果直接是tcp方式,效率也许更高或者,直接利用现成的redis来维护变量。sql2014有真正的内存表了(之前的表变量,据说与临时表一样,还是会读写tempdb的)
    也许直接使用它就行了另外,如果访问不是那么频密的访问(如每秒1万次),低版本的mssql的表,虽然也会有写硬盘的需求,但是基本不会什么性能影响