你能帮我解决两个问题:
一个。我们有一个表,读和写操作同时发生。写入非常频繁,因此读取速度非常慢 - 有时我的Web应用程序由于此表上的大量写入操作而无法启动。我怎么能处理这种情况。通过我们的Web应用程序进行读取时,通过不同的Java应用程序进行写入,因此Web应用程序变得非有什么想法吗?
B中。这个表发生在200个线程上,这些线程从连接池中获取连接并写入表中,并且该应用程序运行24次,是线程优先级有问题并停止从Web应用程序执行读操作。
℃。我们是否可以仅为该表进行主 - 主复制 - 因此写入发生在一个表中并且写入发生在其他表中,并且每两分钟数据从一个表迁移到另一个表?
请建议我。
提前致谢。
答案 0 :(得分:0)
解决这个问题的一个真正方法是使用写事件队列并定期停止写入,以便读者有机会。
答案 1 :(得分:0)
在尝试任何过于复杂的事情之前,请尝试以下方法:
1)不要使用Thread优先级,它们很少是你想要的。
2)设置自己的优先级方案,可能只是通过为读取优先级的读取和写入设置(优先级)队列。即:将读取和写入请求添加到单个队列,并让它们阻止或通知结果。
3)检查数据库功能以优化写入重表
答案 2 :(得分:0)