· 阅读需 9 分钟
SQL实战经验 - 执行计划的节点类型
· 阅读需 4 分钟
SQL优化技巧 - 如何创建高效的索引
· 阅读需 19 分钟
SQL实战经验 - SQL查询中关于NULL的4个陷阱
· 阅读需 13 分钟
Copyright © 2023 PawSQL
NULL值处理是应用开发人员最容易出错误的地方,主要的原因是大家习惯使用二元的布尔逻辑来思考判断,而数据库对于NULL值的处理逻辑是三值逻辑。事实上,数据库优化器中缺陷最多的其实也是和NULL值处理相关的逻辑。即使是有着几十年历史的DB2/Teradata等 成熟的数据库软件,仍然有超过20%的缺陷和NULL处理相关。
本文深度解析NULL值陷阱出现的根本原因,总结了简单有效的判断逻辑;同时针对日常开发中四种常见陷阱,解释其适用条件及解决方案;最后介绍了PawSQL中和NULL值处理相关的优化规则及其实现原理。看完本篇文章,解决关于NULL值处理的所有疑问。
SQL优化评测 - PawSQL针对TPCH的优化评测
· 阅读需 10 分钟
概述
TPCH (TPC Benchmark H) 是一项针对决策支持系统的数据库基准测试。它由TPC (Transaction Processing Performance Council) 于1994年首次发布。TPCH测试由一组22个复杂的业务查询和若干数据维护查询组成,用于衡量关系数据库管理系统在复杂的分析查询下的性能。这些查询模拟了一个批发供应商的数据仓库中的真实查询,涵盖订单分析、供应链管理、部分销售分析等方面。数据库厂商会使用TPCH测试自己产品,评估不同服务器、存储配置、并行处理、资源调度对数据库性能的影响。
本文将在硬件配置、数据库参数保持不变的情况下,仅仅从查询重写和索引推荐的角度,评估PawSQL的优化建议对于TPCH测试集的性能提升作用。