新人求助,大数据量高并发情况下写入数据库问题

新人求助,大数据量高并发情况下写入数据库问题,第1张

1、如果硬件允许搞个读写分离。

2、读取数据的时候采用脏读方式,有效提高读取性能

3、插入的时候大批量比如10W条,可以分开10次1W插入,有效提高写入性能,但尽量不要1条1条来,会造成大量事务日志

首先synchronized不可能做到对某条数据库的数据加锁。它能做到的只是对象锁。

比如数据表table_a中coloum_b的数据是临界数据,也就是你说的要保持一致的数据。你可以定义一个类,该类中定义两个方法read()和write()(注意,所有有关该临界资源的 *** 作都定义在这个类中),再定义一个静态变量作为锁就可以了。

public static final String LOCK = "table_a_b_lock"

public int read(){

synchronized LOCK{

System.out.println("read data...")

}

}

public void write(String data){

synchronized LOCK{

System.out.println("write data:" + data)

}

}

另外,还可以在数据库级别加上锁。数据库本来就支持不同的隔离级别。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10016567.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存