![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
文章平均质量分 87
莫轻言舞
莫笑少年江湖梦,谁不少年梦江湖。曾经年少立志三千里,如今踌躇百步无寸功。儿女蹒跚学堂中。碎银几两催人老。心仍少,皱纹却上眉目中,浮生醉酒回梦里。青春人依旧,只叹时光太匆匆!
展开
-
SQL 中除了写 in 和 not in外,其他写法
如果id2只有1和2, 那么3<>1 且 3<>2 所以3输出了,但是 id2包含空值,那么 3也不等于NULL 所以它不会输出。单独查询 select id1 from test2 是一定会报错: 消息 207,级别 16,状态 1,第 11 行 列名 'id1' 无效。十几分钟,检查了一下 phone在两个表都建了索引,字段类型也是一样的。原来 not in 是不能命中索引的。我想要查询,在test2中不存在的 test1中的 id。我想要查询,在test2中存在的 test1中的id。原创 2024-04-07 10:21:40 · 587 阅读 · 0 评论 -
Spring 在多线程环境下如何确保事务一致性
一次事务的完成通常都是默认在当前线程内完成的,又因为一次事务的执行过程中,涉及到对当前数据库连接Connection的操作,因此为了避免将Connection在事务执行过程中来回传递,我们可以将Connextion绑定到当前事务执行线程对应的ThreadLocalMap内部,顺便还可以将一些其他属性也放入其中进行保存,在Spring中,负责保存这些ThreadLocal属性的实现类由。(这里其实就是责任链模式的应用)事务的结束分为两种情况: 需要进行事务回滚或者事务正常提交,如果是事务回滚,还需要判断。原创 2023-10-09 15:57:07 · 671 阅读 · 0 评论 -
13 秒批量插入 30 万条数据
13 秒批量插入 30 万条数据原创 2023-08-31 16:58:06 · 83 阅读 · 0 评论 -
MySQL事务的12连问
MySQL事务的12连问原创 2023-03-01 11:33:45 · 294 阅读 · 0 评论 -
基于 Spring Boot + Vue 实现的可视化拖拽编辑的大屏项目
大屏设计是一个可视化拖拽编辑的,直观,酷炫,具有科技感的图表工具全开源项目。内置的基础功能包括数据源,数据集,报表管理,项目部分截图如下。图片。原创 2022-11-07 10:27:25 · 234 阅读 · 0 评论 -
MySQL批量插入4种方案
最近趁空闲之余,在对MySQL数据库进行插入数据测试,对于如何快速插入数据的操作无从下手,在仅1W数据量的情况下,竟花费接近47s,实在不忍直视!在不断摸索之后,整理出一些较实用的方案。原创 2022-11-07 10:23:14 · 20990 阅读 · 2 评论 -
加密后的数据如何进行模糊查询
我们到这里对加密数据的检索方案全部介绍完了,我们首先提到的是网上搜索随处可见的沙雕做法,在这里也讲了不推荐使用这些沙雕做法,尽量使用常规做法,如果公司有专业算法方向人才的话不妨可以考虑基于算法层面的超神做法。总的来说从投入、产出比、及实现、使用成本来算的话常规做法二是非常推荐的。原创 2022-08-24 10:02:27 · 282 阅读 · 0 评论 -
MyBatis配置加密, 解密
另外,MyBatis系列面试题和答案全部整理好了,微信搜索Java技术栈,在后台发送面试,可以在线阅读。我们有一张客户表customer,里面有客户手机号(phone)和客户地址(address)等字段,其中客户手机号(phone)是需要加密保存到数据库中的。在我们数据库中有些时候会保存一些用户的敏感信息,比如手机号、银行卡等信息,如果这些信息以明文的方式保存,那么是不安全的。从测试结果中可知,添加数据时,需要加密的数据(phone)在数据库中已经加密了,在查询的时候,加密的数据已经自动解密了。...原创 2022-08-01 10:01:30 · 1634 阅读 · 0 评论 -
聊天系统:服务端 + 客户端 + web端
为什么先看最终效果?因为此刻代码已经撸完了。更重要的是我们带着感官的目标去进行后续的分析,可以更好地理解。标题中提到了,整个工程包含三个部分:1、聊天服务器聊天服务器的职责一句话解释:负责接收所有用户发送的消息,并将消息转发给目标用户。聊天服务器没有任何界面,但是却是IM中最重要的角色,为表达敬意,必须要给它放个效果图:2021-05-11 10:41:40.037 INFO 9392 --- [ntLoopGroup-3-1] c.e.o.s.netty.handler.HeartBe原创 2022-05-14 22:27:38 · 2992 阅读 · 0 评论 -
MyBatis批量插入几千条数据,慎用Foreach
项目中有一个耗时较长的Job存在CPU占用过高的问题,经排查发现,主要时间消耗在往MyBatis中批量插入数据。mapper configuration是用foreach循环做的,差不多是这样。<insertid="batchInsert"parameterType="java.util.List">insertintoUSER(id,name)values<foreachcollection="list"item="model"index="...原创 2022-05-12 10:26:59 · 342 阅读 · 0 评论 -
SQL 优化(一)
有一张财务流水表,未分库分表,目前的数据量为9555695,分页查询使用到了limit,优化之前的查询耗时16 s 938 ms(execution: 16 s 831 ms, fetching: 107 ms),按照下文的方式调整SQL后,耗时347 ms(execution: 163 ms, fetching: 184 ms);操作:查询条件放到子查询中,子查询只查主键ID,然后使用子查询中确定的主键关联查询其他的属性字段;原理:1、减少回表操作;2、可参考《阿里巴巴Java开..原创 2022-05-05 14:24:57 · 178 阅读 · 0 评论