
MySQL
文章平均质量分 58
晒干的老咸鱼
摸爬滚打多年的IT码农
展开
-
详细整理Spring事务失效的具体场景及解决方案
本文转载自:https://blog.youkuaiyun.com/xuan_lu/article/details/107797505按照最基本的使用方式以及常见失效场景优先级整理,先简单介绍一下具体失效场景:1、注解@Transactional配置的方法非public权限修饰;2、注解@Transactional所在类非Spring容器管理的bean;3、注解@Transactional所在类中,注解修饰的方法被类内部方法调用;4、业务代码抛出异常类型非RuntimeException,事务失效;业转载 2021-05-11 09:14:27 · 624 阅读 · 0 评论 -
多表查询时是联表查询好还是单表分步查询比较好
进行后台数据查询的时候经常会有联表查询的情况,联表查询的时候判断是联表查询比较好还是单表分步查询比较好的条件如下:可以用join,因为被驱动表t_area的area_code是主键索引,会用Index Nested-Loop Join这个算法,效率比较高你可以把sql前面加EXPLAIN 在客户端上运行一下没出现Block Nested Loop这个就可以用...原创 2021-02-07 10:24:09 · 2045 阅读 · 0 评论 -
如何在插入数据的时候判断数据是否存在,如果存在,那么就直接更新,不存在,那么就直接插入
在insert的时候使用ON DUPLICATE KEY,这种方式能够成功的前提条件时表有唯一约束,否则会直接插入数据,导致重复,如果是多个字段联合起来唯一,那么可以在数据库表新建一个字段,该字段设为唯一,该字段的值为各个联合字段合起来的值sql举例如下:insert into merchant_statistics_month(merchant_id, total_amount, total_trans, order_pay_month, unique_key)values ('3992004.原创 2020-12-01 16:20:37 · 2408 阅读 · 0 评论 -
如何将A表中有但是B表中没有的数据插入B表
1、首先查询A表中有,但是B表中没有的数据select a.* from bank_syf a WHERE NOT EXISTS(select b.branch_union_code from bank b WHERE b.branch_union_code = a.branch_union_code);2、将查询到的数据插入B表insert into bank (select a.* from bank_syf a WHERE NOT EXISTS(select b.branch_union_原创 2020-11-24 14:58:09 · 1712 阅读 · 1 评论