我有一张表,大约有一千万条数据,每天我要对里面的一百万条左右的数据进行比对,更新数据状态.由于数据量太大,比对速度太慢.所以我考虑多台服务器同时运行进行比对.比如4台同时运行,电脑1运行:1到250000,电脑2运行:250000到500000,电脑3运行:500000到750000,电脑1运行:750000到1000000的数据.请问我要如何进行查询数据库了.让数据自动分配给每台服务器?

解决方案 »

  1.   

    更新状态时表是否有其它用户使用,如果没有,可以用left join 生成新表, 这样比update快很多
      

  2.   

    分区需要良好的设计CPU、HDD估计楼主功力还没到位
    1000万数据并不算大
      

  3.   

    其实我这个速度慢是因为我在一个网站上抓取信息,把抓取的信息解析Html后,获得一个状态值,通过这个值更新数据库的相应记录。由于抓取速度慢。所以我考虑多台服务器抓取。但这样操作就会存在一个问题。几台服务器都同时去操作了同一条数据。造成性能无法提高。所以需要把表分成几个区,一台服务器记取一个分区的数据,这样就不会出现多台服务器对同一条记录进行操作的现象。
    我用的sql server2000数据库,请问要如果进行表分区。