
SQL学习
文章平均质量分 80
Vic10101
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
PostgreSQL 多级依赖血缘系统的设计与落地
维度实践要点存储只存依赖 ID,避免全量冗余查询函数封装递归,必要时图数据库状态触发器 + 服务层双重锁性能缓存 + 预编译 + 异步刷新可视化Neo4j / ECharts 桑基图至此,我们完成了从“原子→派生→复合”多级指标依赖的完整设计与落地。原创 2025-08-05 01:45:05 · 478 阅读 · 0 评论 -
PostgreSQL 中 date_trunc 为什么能走索引?【待验证】
date_trunc 能走索引,不是因为黑科技,而是因为你提前把「表达式结果」存进了索引。“表达式一致 + IMMUTABLE + 索引”三件套,就能让时间截断查询飞起来。原创 2025-07-29 20:33:39 · 414 阅读 · 0 评论 -
别让 WHERE 把 LEFT JOIN 偷偷变成 INNER JOIN —— 一个极易忽视的 SQL 语义陷阱
在日常开发中,多表 LEFT JOIN 后再加 WHERE 过滤,看起来人畜无害,实则暗藏“语义降级”风险。若必须保留 LEFT JOIN 语义,又想在右表走索引,可在 ON 子句里加过滤,再对右表建。LEFT JOIN 后再对右表字段做非 NULL 过滤,等同于 INNER JOIN;要么改写成 ON 条件,要么接受语义变化,千万别被“LEFT”字样误导。LEFT JOIN 会保留左表(main_trade)的所有行。于是 LEFT JOIN 退化成 INNER JOIN。一旦对右表字段写了过滤条件(原创 2025-07-29 18:52:10 · 547 阅读 · 0 评论 -
数据库表索引维护策略
索引完整性保留索引定义但清空索引数据;DROP TABLE和删除并重建表和索引。索引碎片残留不会产生索引碎片;DROP TABLE和也不会导致索引碎片残留,因为索引是重新创建的。维护操作:执行后建议执行;执行DROP TABLE和后,可以在数据插入完成后执行ANALYZE,以确保查询优化器能够基于最新的统计信息生成执行计划。通过合理的表操作和索引维护策略,可以有效避免索引碎片问题,提升数据库的性能和效率。希望本文能为数据库管理员和开发人员提供有价值的参考,帮助更好地管理和优化数据库系统。原创 2025-05-22 16:08:14 · 1110 阅读 · 0 评论 -
创建索引:GaussDB(PostgreSQL)开发笔记
定期执行VACUUM** 和 **** 操作** :以保持数据库的性能和查询优化处于最佳状态。VACUUM回收废弃空间,ANALYZE更新统计信息,帮助查询规划器生成更优的执行计划。合理创建索引:根据查询需求,为经常用于过滤和排序的列创建索引。特别是对查询条件中的列(如)和排序列(如data_id)创建索引,可以显著提高查询性能。分析执行计划:通过查看查询的执行计划,了解查询的性能瓶颈,并针对性地进行优化。关注操作节点的执行时间、返回的行数、内存使用等关键指标。处理索引创建问题。原创 2025-05-20 19:42:45 · 1006 阅读 · 0 评论 -
单一职责原则&开闭原则&其他开发原则
一个类应该有且仅有一个引起它变化的原因(即一个类只负责一个职责)。原创 2025-03-21 13:55:52 · 1074 阅读 · 0 评论 -
having用法
students和courses。studentscourses现在需要找出报名了至少两门课程的学生,并列出他们的姓名以及报名的课程数量。原创 2025-03-05 09:47:20 · 1382 阅读 · 0 评论 -
在PG数据库中,not in 和except的区别
如果需要处理包含NULL的数据或进行复杂的集合操作,推荐使用EXCEPT。如果数据量较小且逻辑简单,可以使用NOT IN。在处理大数据集时,EXCEPT通常具有更好的性能。原创 2025-03-04 14:52:32 · 1025 阅读 · 0 评论 -
窗口函数特性
窗口函数是 PostgreSQL 的一大亮点,它允许你在查询结果中对一组行进行计算,而不需要将结果分组(不像。那样会减少结果集的行数)。MySQL 也支持窗口函数,但 PostgreSQL 的实现更强大,功能更丰富。假设我们有一个销售表。原创 2025-02-27 13:57:10 · 380 阅读 · 0 评论 -
每日一练0001
students和courses。studentscourses平台希望分析学生的学习情况,今天的任务是找出。原创 2025-02-27 09:52:07 · 408 阅读 · 0 评论