如果有多个线程访问(读/写)数据库中的同一个表,我应该考虑哪些线程安全问题?
这里有一些好的提示,例如,如果使用MySQL
- 使用行级锁定
- 使用TRANSACTION_READ_COMMITTED隔离级别
- 避免使用不能使用索引的查询;它们需要锁定表中的所有行(如果只是非常短暂的话),并且可能会阻止更新
- 避免在线程之间共享语句
以下是更多信息和参考
检查在不同隔离级别中实现事务的机制。这些机制存在于数据库系统或您的API中。