项目是ssm框架 这方面可以怎么优化吗?
本问题来自云栖社区【阿里Java技术进阶2群】。https://yq.aliyun.com/articles/690084 点击链接欢迎加入社区大社群。
我理解楼主所说的 效率 是指不想做一次old value的查询,如果这样的话仅通过SSM框架是满足不了的,只能通过DB的组件入手优化,目前通用的做法是异步收集DB的binlog日志,进行分析和变更的存储,而且开源社区也已经有现成的轮子,具体楼主参考下其他答主的回答~
感觉没有很好的办法,因为你直接update set age = $newValue 就是拿不到oldValue的,就是要查一下才知道。 一定要在应用做的话,先查出来记录,然后通过主键id更新,应该效率还好。
如果你要监听数据库变更记录,通用的做法是监听binlog日志。 1.阿里云RDS 有 “数据传输服务DTS” 服务:https://www.aliyun.com/product/dts?spm=5176.10695662.1169300.1.3bdb68f8xgQIpp 2.binlog监听组件也有开源组件:https://github.com/alibaba/canal 3.阿里内部也是类似作用的一套服务。
可以通过实现mybatis的Interceptor接口、并结合其@Intercepts注解,实现在执行sql前后打印一些你想记录的东西,包括所执行的sql语句。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。