mysql
文章平均质量分 79
莫轻言舞
莫笑少年江湖梦,谁不少年梦江湖。曾经年少立志三千里,如今踌躇百步无寸功。儿女蹒跚学堂中。碎银几两催人老。心仍少,皱纹却上眉目中,浮生醉酒回梦里。青春人依旧,只叹时光太匆匆!
展开
-
MyBatis-Plus 内置雪花算法主键重复问题
这个时候我们先看一下我们设置参数有没有生效,为了比较明显看到效果,我们直接设置worker-id为一个固定值20,再断点看一下,我们找到com.baomidou.mybatisplus.core.toolkit.IdWorker这个核心类,获取id的核心方法是com.baomidou.mybatisplus.core.toolkit.IdWorker#getId,那我们就在这里加一个断点看下。先检查了一下服务器时间,都是一样的,然后再看一下workId的生成,我们先看一下源码。那我们就修改配置一下。原创 2023-10-09 15:30:09 · 746 阅读 · 0 评论 -
MyBatis-Plus 使用拦截器实现数据权限控制
例如我们名称简单的sql语句 直接在Service层用mybatisPluse自带的方法。原创 2023-09-19 10:14:01 · 578 阅读 · 0 评论 -
MySQL事务的12连问
MySQL事务的12连问原创 2023-03-01 11:33:45 · 287 阅读 · 0 评论 -
Linux常用运维命令
Linux常用运维命令:mysql;redis;mongodb;nginx原创 2023-01-05 17:50:20 · 462 阅读 · 0 评论 -
Spring Cloud Sleuth在分布式中进行日志跟踪
zipkin可以把它当做就是一个带有可视化界面的jar包,项目当中集成zipkin依赖主要是将sleuth链路跟踪的数据,上传到zipkin,由zipkin对数据进行整理并在页面上展示了出来,真正实现链路跟踪的是sleuth。跨度可以启动和停止,并且它们会跟踪它们的时间信息。假如不使用Sleuth,在我们进行远程调用的时候报错了,实际上我们是看不到他是因为什么报错的,我们只知道调用他报错了,日志如下,要想真正知道报的什么异常还得去查看远程调用的服务日志,而且还得比对服务调用时间,来查看当时报错的日志。翻译 2022-12-27 14:19:42 · 161 阅读 · 0 评论 -
基于 Spring Boot + Vue 实现的可视化拖拽编辑的大屏项目
大屏设计是一个可视化拖拽编辑的,直观,酷炫,具有科技感的图表工具全开源项目。内置的基础功能包括数据源,数据集,报表管理,项目部分截图如下。图片。原创 2022-11-07 10:27:25 · 216 阅读 · 0 评论 -
MySQL批量插入4种方案
最近趁空闲之余,在对MySQL数据库进行插入数据测试,对于如何快速插入数据的操作无从下手,在仅1W数据量的情况下,竟花费接近47s,实在不忍直视!在不断摸索之后,整理出一些较实用的方案。原创 2022-11-07 10:23:14 · 20717 阅读 · 2 评论 -
加密后的数据如何进行模糊查询
我们到这里对加密数据的检索方案全部介绍完了,我们首先提到的是网上搜索随处可见的沙雕做法,在这里也讲了不推荐使用这些沙雕做法,尽量使用常规做法,如果公司有专业算法方向人才的话不妨可以考虑基于算法层面的超神做法。总的来说从投入、产出比、及实现、使用成本来算的话常规做法二是非常推荐的。原创 2022-08-24 10:02:27 · 256 阅读 · 0 评论 -
MyBatis-Plus用法
基于springboot、maven、jdk1.8、mysql开发,所以开始前我们需要准备好这套环境新建如下数据库:建议大家选择utf8mb4这种字符集,做过微信的同学应该会知道,微信用户名称的表情,是需要这种字符集才能存储的。...原创 2022-08-18 10:04:45 · 239 阅读 · 0 评论 -
MySQL去重3种方法
在使用SQL提数的时候,常会遇到表内有重复值的时候,比如我们想得到 uv (独立访客),就需要做去重。在 MySQL 中通常是使用 distinct 或 group by子句,但在支持窗口函数的 sql(如Hive SQL、Oracle等等) 中还可以使用 row_number 窗口函数进行去重。举个栗子,现有这样一张表 task:备注: task_id: 任务id; order_id: 订单id; start_time: 开始时间 注意:一个任务对应多条订单转载 2022-05-16 10:13:34 · 3223 阅读 · 0 评论 -
MySQL分页(二)
对于 MySQL 查询语句来说,整体效率还是可以的,该有的联表查询优化都有,该简略的查询内容也有,关键条件字段和排序字段该有的索引也都在,问题在于他一页一页的分页去查询,查到越后面的页数,扫描到的数据越多,也就越慢。我们在查看前几页的时候,发现速度非常快,比如 limit 200,25,瞬间就出来了。但是越往后,速度就越慢,特别是百万条之后,卡到不行,那这个是什么原理呢。先看一下我们翻页翻到后面时,查询的 sql 是怎样的:1select*fromt_namewherec_name...原创 2022-05-13 11:02:06 · 115 阅读 · 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 · 325 阅读 · 0 评论 -
利用多线程批量拆分 List 导入数据库数据
一、前言前两天做了一个导入的功能,导入开始的时候非常慢,导入2w条数据要1分多钟,后来一点一点的优化,从直接把list怼进Mysql中,到分配把list导入Mysql中,到多线程把list导入Mysql中。时间是一点一点的变少了。非常的爽,最后变成了10s以内。下面就展示一下过程。二、直接把list怼进Mysql使用mybatis的批量导入操作:@Transactional(rollbackFor=Exception.class)publicintaddFresh...原创 2022-05-07 10:08:45 · 478 阅读 · 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 · 160 阅读 · 0 评论