- 博客(11)
- 收藏
- 关注
原创 NOT EXIST再实践
本文探讨了在MySQL中获取物料请购单数据的两种方案。NOTEXIST方案通过子查询查找不存在不满足条件记录的主表数据,具有灵活性和NULL值处理优势;JOIN+GROUPBY方案则适合明确条件数量的场景。效率分析指出:当子表数据量小时JOIN方案可能更快,但大数据量时NOTEXISTS更优,尤其在有合适索引时。典型场景对比显示NOTEXISTS在多数据量、需快速终止扫描时表现更佳。建议优先考虑NOTEXISTS方案,特别当存在覆盖索引或需过滤大量记录时;JOIN方案适用于固定数量规则校验或需要附加统计的场
2025-05-27 16:14:28
1009
原创 翻越算法这座高山(四)——二分查找
二分查找是一种高效的查找算法,通过分治策略在有序集合中快速定位目标数据。其核心思想是通过不断对折搜索范围,将时间复杂度降至O(logN)。本文介绍了二分查找的原理、递归与非递归两种实现方式(Java代码示例),并分析了其应用场景(如数据库索引)及优缺点(查找快但依赖有序数据)。最后给出LeetCode704题的解决方案,展示二分查找在实际编程中的典型应用。
2024-11-13 14:34:59
372
原创 翻越算法这座高山(三)——认识递归
递归是一种直接或者间接地调用自身的算法。在编程中,递归算法对解决一大类问题是十分有效的,它往往使算法的描述简洁而且易于理解。
2024-11-13 08:53:28
281
原创 设计模式——代理模式
代理模式是一种软件设计模式。为其他对象提供一种代理以控制对这个对象的访问。主要用于在不修改原有代码的情况下,通过引入代理类来间接访问目标对象。
2024-11-11 14:33:53
607
原创 翻越算法这座高山(二)——排序算法
排序算法是一类非常经典的算法。从刚学编程的冒泡排序,随后到选择排序、插入排序等,还有希尔排序,公司面试时也经常会问到快速排序等等,虽然是小小的排序算法,确也蕴含着编程者的智慧。
2024-11-08 15:15:11
1001
原创 NOT EXIST(mysql)
"NOT EXIST"通常在"SELECT", "INSERT" 或 "UPDATE"语句中使用,它可以用来检查主表中的一行是否不存在于子查询结果中。在MySQL中,"NOT EXIST"通常用于查询操作,它是"EXIST"关键字的反面,用于检查一个子查询是否不返回任何行。在报表开发实践中,因为查询逻辑复制,经常会用到NOT EXIST这种操作,有时候,结果是对的,但是查询效率却不尽如人意。对于返回结果集较大的子查询,可以考虑先将子查询的结果集临时保存到一个临时表中,然后再对这个临时表进行查询。
2024-11-05 14:02:29
2264
原创 翻越算法这座高山(一)——数组和字符串
当j==0||j==a[i].length-1时 元素为1,其他元素为a[i][j]=a[i-1][j-1]+a[i-1][j] 。个人对数组的一些理解:数组是具有相同数据结构(数据类型)的数据的一个顺序集合,由元素(内容)跟下标(索引)构成。数组的长度有大小,下标有边界,通常,下标以0开头,以数组长度-1为结尾。每一行第一个元素跟最后一个元素都是1,在一个a[i][j]的二维数组中,4.9数组遍历,将数组中的元素逐一访问一遍。
2024-10-19 14:32:27
853
原创 Mybatis动态字段实践
在Java springboot+mybatis 项目时间中,遇到这样的情况,需要动态的字段,我们有这样的场景:因一些低代码平台前台自定义字段时,后端会非人为意愿的指定数据库字段如ext_1_yy此类字段,这在开发过程中给SQL执行带来困难,mybatis动态字段,拼接SQL给这一情况带来了便利。MyBatis 提供了动态字段的功能,可以在运行时根据条件动态地选择查询的字段。插入原始字符串时,需要确保没有 SQL 注入的风险。的值,那么应该只允许非恶意的、安全的字符串。在这个例子中,如果传入的。
2024-10-17 15:08:33
384
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人