- 博客(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关注的人