202108-23 基于Spring Boot使用JpaRepository删除数据时的注意事项 问题:在SpringBoot中使用JpaRepository的deleteById(IDid)方法删除数据时,首先要使用existsById(IDid)方法判断数据是否存在。如果存在,再删除。否则,删除一个id不存在的数据会抛出org.springframework.dao.EmptyResultDataAccessException异常:2019-01-0215:57:24.122WARNorg.springframework.boot.autoconfigure.orm.jpa.JpaBaseConfiguration$JpaWebConfiguration$JpaWebMvcConfigurationLine:234-spring.jpa.ope... 继续阅读 >
202010-24 oracle 批量删除表数据的几种方法 1.情景展示情景一:删除PRIMARY_INDEX_TEST表中,MINDEX_ID字段为空的数据情景二:删除VIRTUAL_CARD_TEST表中的脏数据2.解决方案情景一的解决方案: DELETEFROMPRIMARY_INDEX_TESTWHEREMINDEX_IDISNULL情景二的解决方案:方案1:使用快速游标法(删除一次提交一次);--快速游标法BEGINFORTEMP_CURSORIN(SELECTIDFROMVIRTUAL_CARD3WHEREINSTR(NAME,'*')>0UNIO... 继续阅读 >
202010-13 MySQL删除数据,表文件大小依然没变的原因 对于运行很长时间的数据库来说,往往会出现表占用存储空间过大的问题,可是将许多没用的表删除之后,表文件的大小并没有改变,想解决这个问题,就需要了解InnoDB如何回收表空间的。对于一张表来说,占用空间重要分为两部分,表结构和表数据。通常来说,表结构定义占用的空间很小。所以空间的问题主要和表数据有关。在MySQL8.0前,表结构存储在以.frm为后缀的文件里。在8.0,允许将表结构定义在系统数据表中。关于表数据的... 继续阅读 >
202010-08 MySQL 快速删除大量数据(千万级别)的几种实践方案详解 笔者最近工作中遇见一个性能瓶颈问题,MySQL表,每天大概新增776万条记录,存储周期为7天,超过7天的数据需要在新增记录前老化。连续运行9天以后,删除一天的数据大概需要3个半小时(环境:128G,32核,4T硬盘),而这是不能接受的。当然如果要整个表删除,毋庸置疑用TRUNCATETABLE就好。最初的方案(因为未预料到删除会如此慢),代码如下(最简单和朴素的方法):deletefromtable_namewherecnt_date<=target_date后经过研... 继续阅读 >
202010-08 解决JAVA遍历List集合,删除数据时出现的问题 一、问题描述有时候,我们会遇到在遍历List集合的过程中删除数据的情况。看着自己写的代码,感觉完全没有问题,但就是达不到预期的效果,这是为什么呢?下面我们来分析下Stringstr1=newString("1");Stringstr2=newString("2");Stringstr3=newString("3");Stringstr4=newString("4");Stringstr5=newString("5");Listlist=newArrayList();list.add(str1);list.add(str2);list.add(str3);list.add(s... 继续阅读 >