有几个表记录每天的业务,数据量很大。当统计的时候,关联起来就可能超时,怎么办呢?
      感觉比较好的方法还是定时导出数据到另一个库,让查询库保持一段时间内(客户的查询大部分都是在这个时间段内)的数据,这样就不至于数据量过大;至于查询其他数据可以连到另一个库去查。
      不过今天在网上看到一种方法,虽然说不上有上面的方法好,相对有局限性,但是感觉思路还是不错。这种方法就是:
损失空间换取查询速度
1:创建一个结果表,存放你查询的记录的结果记录集  
  2:在相关表上创建插入,修改,删除的触发器,当每一次数据的写操作就执行一个触发器,写相应的记录到结果表中(维护数据一致性)。  
  3:查询就只是相对一个表进行的。  
  这样做损失了一个结果集的空间,但把时间给分配到了每一个数据更新的时候,查询的时候结果就会更加快就出来了,因为执行关系运算是很耗费资源的!  

我感觉就是这种方法用在某些特定环境下还是不错!
posted on 2007-04-29 09:51  Mercury  阅读(182)  评论(0编辑  收藏  举报