随笔分类 -  Mysql

分库分表,读写分离
多线程导致事务失效-记一次性能优化
摘要:优化背景:项目中有一个批量更新的方法,由于代码逻辑是逐个调用数据库进行更新,导致在更新数量多的情况下,整个方法执行慢。 正常业务情况下,更新的数量能达到500个,假设更新一个耗时为100ms,那么500个需要的时间为50秒,用户肯定等不了那么久,需要优化。 一开始想法是,开启多线程去更新,一个线程执 阅读全文

posted @ 2019-12-23 17:08 swave 阅读(6180) 评论(0) 推荐(0)

自己实现一个简单的数据库事务
摘要:原理:通过Spring提供的BeanPostProcessor来对使用了事务注解的类进行动态代理,通过spring提供的获取数据库连接工具类DataSourceUtils来获取连接。 只有两个类 MyTransactional 和 TransactionBeanPostProcessor,MyTra 阅读全文

posted @ 2019-10-24 15:54 swave 阅读(339) 评论(0) 推荐(0)

共享锁(S锁)和排它锁(X锁)
摘要:1 什么叫数据库共享锁[S]锁和[X]锁 共享锁【S锁】 又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这保证了其他事务可以读A,但在T释放A上的S 锁之前不能对A做任何修改。 排他锁【X锁】 又称写锁。若事务T对 阅读全文

posted @ 2015-04-28 09:26 swave 阅读(708) 评论(0) 推荐(0)

导航