- 博客(15)
- 收藏
- 关注
原创 [特殊字符] Flink 与 StreamPark 中的 UDF 使用详解
当 Flink 内置函数无法满足特定业务需求时,用户自定义函数(UDF)提供了强大的扩展能力。UDF(标量函数):接收一个或多个输入参数,返回单个值。UDAF(聚合函数):将多条记录聚合成一个值。UDTF(表值函数):支持一个或多个输入参数,可返回多行多列。这些自定义函数可以在 Flink SQL 中直接调用,极大地扩展了 SQL 的表达能力,使您能够实现复杂的业务逻辑。标量函数是最常见的 UDF 类型,以下是开发示例:java// 示例:为字符串生成哈希值的标量函数代码说明继承类实现。
2025-10-24 15:08:42
604
原创 GreatSQL分页查询优化案例实战
典型的分页SQL写法:sql -- 传统分页写法 SELECT * FROM orders ORDER BY create_time DESC LIMIT 10000, 20;gov.d.zsbssbq.com 性能问题分析:MySQL需要先扫描前10000条记录然后返回接下来的20条数据量越大,offset值越大,性能越差执行计划分析:sql EXPLAIN SELECT * FROM orders ORDER BY create_time DESC LIMIT 10000, 20;ruiqiin
2025-10-24 15:04:29
1601
原创 MySQL 基础架构:连接层与数据存储层深度解析
连接层关键要点采用线程池模型处理并发连接通过身份认证和权限控制保障安全使用高效的网络通信协议合理的连接池配置对性能至关重要数据存储层关键要点InnoDB通过表空间管理物理存储B+Tree索引提供高效的数据访问缓冲池机制减少磁盘I/OMVCC和事务日志保证ACID特性崩溃恢复机制确保数据一致性深入理解这两个核心层的工作原理,能够帮助我们更好地进行数据库设计、性能调优和故障排查,构建稳定高效的数据库系统。
2025-10-24 14:57:50
766
原创 MySQL索引失效场景全解析
违反基本原则:最左前缀、避免计算和函数查询写法问题:不当的LIKE、OR连接、类型转换数据特征影响:数据分布、统计信息不准确索引设计缺陷:列顺序不合理、缺少覆盖索引关键建议使用EXPLAIN定期分析查询执行计划监控索引使用情况,及时调整索引策略遵循索引设计的最佳实践在查询编写时时刻考虑索引的使用条件。
2025-10-24 14:53:06
1594
原创 MySQL为什么还有kill不掉的语句?
MySQL的KILL命令并不是"立即停止"操作,而是设置状态并唤醒目标线程执行终止逻辑。线程没有机会执行到状态判断逻辑(如innodb_thread_concurrency限制、IO压力过大)终止逻辑本身需要较长时间(如大事务回滚、大查询清理临时文件、DDL操作收尾)理解这些底层机制,有助于我们更好地处理MySQL中的"顽固"语句,并在设计和开发阶段就采取措施避免此类情况的发生。在实际数据库运维中,预防这类问题的发生远比事后处理更为重要。
2025-10-24 14:46:08
902
原创 实战:用Python分析某电商销售数据
python# 创建基类# 定义一对多关系# 定义多对一关系# 定义多对多关系(通过关联表)# 关联表(用于多对多关系)SQLAlchemy ORM提供了强大而灵活的数据库操作方式,通过本文的介绍,您应该能够:安装和配置SQLAlchemy定义数据模型和关系执行基本的CRUD操作构建复杂查询管理数据库事务遵循最佳实践SQLAlchemy还有更多高级特性,如混合属性、事件监听、自定义查询等,值得进一步探索学习。
2025-10-23 12:34:19
419
原创 Python虚拟环境(venv)完全指南:隔离项目依赖
python# 创建基类# 定义一对多关系# 定义多对一关系# 定义多对多关系(通过关联表)# 关联表(用于多对多关系)SQLAlchemy ORM提供了强大而灵活的数据库操作方式,通过本文的介绍,您应该能够:安装和配置SQLAlchemy定义数据模型和关系执行基本的CRUD操作构建复杂查询管理数据库事务遵循最佳实践SQLAlchemy还有更多高级特性,如混合属性、事件监听、自定义查询等,值得进一步探索学习。
2025-10-23 12:33:48
316
原创 Python异步编程入门:Asyncio库的使用
python# 创建基类# 定义一对多关系# 定义多对一关系# 定义多对多关系(通过关联表)# 关联表(用于多对多关系)SQLAlchemy ORM提供了强大而灵活的数据库操作方式,通过本文的介绍,您应该能够:安装和配置SQLAlchemy定义数据模型和关系执行基本的CRUD操作构建复杂查询管理数据库事务遵循最佳实践SQLAlchemy还有更多高级特性,如混合属性、事件监听、自定义查询等,值得进一步探索学习。
2025-10-23 12:33:17
415
原创 C++代码复杂性分析
重新排列范围,使得指定位置的元素等于排序后的元素,并且左边的元素都不大于它,右边的元素都不小于它。算法的原理是 “覆盖” 要删除的元素,将保留的元素移到前面,返回新的逻辑尾迭代器,但。对范围内的每个元素应用一个函数,并将结果存储在另一个范围内。移除范围内连续的重复元素,返回新的逻辑结尾迭代器。旋转范围内的元素,使中间元素成为新的第一个元素。这些算法不会改变它们所操作的容器中的元素。这些算法会修改它们所操作的容器中的元素。同时返回范围内的最小和最大元素的迭代器。返回范围内的最小/最大元素的迭代器。
2025-10-23 12:32:46
359
原创 Python函数定义与调用:编写可重用代码的基石
python# 创建基类# 定义一对多关系# 定义多对一关系# 定义多对多关系(通过关联表)# 关联表(用于多对多关系)SQLAlchemy ORM提供了强大而灵活的数据库操作方式,通过本文的介绍,您应该能够:安装和配置SQLAlchemy定义数据模型和关系执行基本的CRUD操作构建复杂查询管理数据库事务遵循最佳实践SQLAlchemy还有更多高级特性,如混合属性、事件监听、自定义查询等,值得进一步探索学习。
2025-10-23 12:32:15
343
原创 Python生成器(Generator)与Yield关键字:惰性求值之美
python# 创建基类# 定义一对多关系# 定义多对一关系# 定义多对多关系(通过关联表)# 关联表(用于多对多关系)SQLAlchemy ORM提供了强大而灵活的数据库操作方式,通过本文的介绍,您应该能够:安装和配置SQLAlchemy定义数据模型和关系执行基本的CRUD操作构建复杂查询管理数据库事务遵循最佳实践SQLAlchemy还有更多高级特性,如混合属性、事件监听、自定义查询等,值得进一步探索学习。
2025-10-22 19:20:27
1465
原创 类型安全容器设计
重新排列范围,使得指定位置的元素等于排序后的元素,并且左边的元素都不大于它,右边的元素都不小于它。算法的原理是 “覆盖” 要删除的元素,将保留的元素移到前面,返回新的逻辑尾迭代器,但。对范围内的每个元素应用一个函数,并将结果存储在另一个范围内。移除范围内连续的重复元素,返回新的逻辑结尾迭代器。旋转范围内的元素,使中间元素成为新的第一个元素。这些算法不会改变它们所操作的容器中的元素。这些算法会修改它们所操作的容器中的元素。同时返回范围内的最小和最大元素的迭代器。返回范围内的最小/最大元素的迭代器。
2025-10-22 19:19:56
659
原创 实时数据压缩库
重新排列范围,使得指定位置的元素等于排序后的元素,并且左边的元素都不大于它,右边的元素都不小于它。算法的原理是 “覆盖” 要删除的元素,将保留的元素移到前面,返回新的逻辑尾迭代器,但。对范围内的每个元素应用一个函数,并将结果存储在另一个范围内。移除范围内连续的重复元素,返回新的逻辑结尾迭代器。旋转范围内的元素,使中间元素成为新的第一个元素。这些算法不会改变它们所操作的容器中的元素。这些算法会修改它们所操作的容器中的元素。同时返回范围内的最小和最大元素的迭代器。返回范围内的最小/最大元素的迭代器。
2025-10-22 19:19:25
796
原创 用户认证与授权:使用JWT保护你的API
python# 创建基类# 定义一对多关系# 定义多对一关系# 定义多对多关系(通过关联表)# 关联表(用于多对多关系)SQLAlchemy ORM提供了强大而灵活的数据库操作方式,通过本文的介绍,您应该能够:安装和配置SQLAlchemy定义数据模型和关系执行基本的CRUD操作构建复杂查询管理数据库事务遵循最佳实践SQLAlchemy还有更多高级特性,如混合属性、事件监听、自定义查询等,值得进一步探索学习。
2025-10-22 19:18:54
501
原创 构建一个基于命令行的待办事项应用
python# 创建基类# 定义一对多关系# 定义多对一关系# 定义多对多关系(通过关联表)# 关联表(用于多对多关系)SQLAlchemy ORM提供了强大而灵活的数据库操作方式,通过本文的介绍,您应该能够:安装和配置SQLAlchemy定义数据模型和关系执行基本的CRUD操作构建复杂查询管理数据库事务遵循最佳实践SQLAlchemy还有更多高级特性,如混合属性、事件监听、自定义查询等,值得进一步探索学习。
2025-10-22 19:18:23
679
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅