你在程序层做读写分离没用的,你不是在数据库做的,即便你用了两个连接池进行读写分离,但是你的数据库还是没有读写分离,最终反应到数据库的还是一样的。如果你数据库不做读写分离的话, 你 程序可以使用缓存,用ehcache,查询的时候做缓存,这样同样的查询就不会一直查库了,减少数据库的IO

解决方案 »

  1.   

    没有必要用多用连接池,你读写操作最终还是反应到同一个数据库,写操作占用大量连接,那你连接池开多点连接,数据库不读写分离,连接池读写分离不是一样多用连接了,那有什么意义呢,关键的还是在于数据库的IO,如果你读写操作并发较大的时候,写操作就要涉及到数据库的数据文件的数据之间的移动了,一旦你数据库的数据量大并且并发读写的情况下就可能出现死锁了。用缓存不仅解决并发查询同样数据的数据库IO还能减少数据库连接的开销,减轻数据库的压力这才是最重要的
      

  2.   

    你试下系统中的定时线程用一个SqlSessionFactory,其它的用另一个SqlSessionFactory。
    没这么用过,不知道可不可以。
      

  3.   

    有没有试过在spring的配置文件中使用两个SqlSessionFactory的情况