自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

转载 shardingSphere框架中使用 ON DUPLICATE KEY UPDATE 失效原因

具体的逻辑是,先会执行插入的逻辑,当主键冲突时才会执行 ON DUPLICATE KEY UPDATE后面的更新语句,而在执行ON DUPLICATE KEY UPDATE之前,具体的值已经在插入之前解析好了,所以通过values直接取对应的字段值即可。项目使用shardingSphere进行脱敏加密,原有sql使用 ON DUPLICATE KEY UPDATE(插入记录,若存在即更新),sql异常。

2023-11-17 11:02:17 703

转载 数据库分片(Sharding):分表+分库+分片+分区

在字段很多的情况下(例如一个大表有100多个字段),通过"大表拆小表",更便于开发与维护,也能避免跨页问题,MySQL底层是通过数据页存储的,一条记录占用空间过大会导致跨页,造成额外的性能开销。但是如果取得页数很大,情况则变得复杂很多,因为各分片节点中的数据可能是随机的,为了排序的准确性,需要将所有节点的前N页数据都排序好做合并,最后再进行整体的排序,这样的操作时很耗费CPU和内存资源的,所以页数越大,系统的性能也会越差。表中ID增长的步长是库的数量,起始值依次错开,这样能将ID的生成散列到各个数据库上。

2023-06-13 15:43:00 3040

原创 SpringBoot 中的自带工具类

SpringBoot 中提供了 Assert 断言工具类,通常用于数据合法性检查。Assert 关键字在 JDK1.4 中引入,可通过 JVM 参数。断言是一个逻辑判断,用于检查不应该发生的情况。获取被代理对象的 class。获取当前对象的代理对象。

2023-06-12 15:41:37 135

原创 Excel百万级数据导入导出,EasyExcel 才是真香

1.如此大批量数据的导出和导入操作,会占用大量的内存实际开发中还应限制操作人数。2.在做大批量的数据导入时,可以使用jdbc手动开启事务,批量提交。

2023-06-12 15:20:27 1360

原创 一千万数据,怎么快速查询?

用 "SELECT * " 数据库需要解析更多的对象、字段、权限、属性等相关内容,在 SQL 语句复杂,硬解析较多的情况下,会对数据库造成沉重的负担。由于配置低,本次测试只准备了3148000条数据,占用了磁盘5G(还没建索引的情况下),跑了38min,电脑配置好的同学,可以插入多点数据测试。这种方法要求更高些,id必须是连续递增,而且还得计算id的范围,然后使用 between,sql如下​​​​​​​。采用批量插入,效率会快很多,而且每1000条数就commit,数据量太大,也会导致批量插入效率慢。

2023-06-12 15:19:00 442

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除