数据库查询优化

科技互联网

"上推条件,下推循环":编程启发式原则的代数基础与局限

一项编程启发式原则"Push Ifs Up and Fors Down"近日受到关注,该原则源自TigerBeetle的Tiger Style文档。这一原则主张将条件分支逻辑从被调用函数上移至调用者处理,同时将循环操作下移到函数内部以实现批处理。例如,通过类型系统用Option改为Walrus等方式表示前置条件,或将…

科技半导体

PostgreSQL BRIN索引在行更新后性能急剧退化,体积优势随数据变动丧失

前Oracle查询引擎团队成员Venkat Sakamuri发布了一项关于PostgreSQL BRIN索引性能的测试分析,揭示了该索引在数据更新后存在的严重性能退化问题 。在PostgreSQL 17.9环境下的测试表明,对于跨越90天、按时间戳顺序插入的10,000,000行物理有序新表,BRIN索引的体积仅为4…

科技互联网

DuckDB中Parquet文件分页查询:file_row_number优于OFFSET

在DuckDB中处理大型Parquet文件时,选择合适的分页方法至关重要。一项测试分析发现,使用file_row_number按行范围查询相比传统的LIMIT/OFFSET方法性能明显更优,且后者存在严重的数据完整性风险。