时间:2024-09-16 10:02:11
多线程并发访问数据库中不同记录时应该采用什么办法?
先读后写,如果业务允许的话。这样可以有效避免很多障碍,甚至很解决不了的坑。
(比如一个写线程还没提交,一个大的读线程恰巧导致写线程无法提交,等待读线程完成才会提交,会照成很长时间的锁等待,一堵塞,就很容易产生数据库假死。
对于一个事务内的多个线程,有时候脏读是合理的情况下,一定要合理利用,这样可以避免无法分成读写两部分执行而产生等待的问题,比如可以提前在写队列里面提前commit,那么读的部分完全可以异步,首先要确认业务是否可行,要不就会出错数据,这地方是个钢丝绳。
科技之家 广州小漏斗信息技术有限公司 版权所有 佳绩网提供支持 粤ICP备20006251号