我有点困惑,因为我在质疑 OLTP 和 OLAP 中“在线”的定义。我曾经认为,这里的“在线”意味着我们希望在有限的时间内根据某个实例的可用数据获得答案。
但是 OLAP 查询可能需要几个小时来计算 - 这不是离线的吗?
快速搜索表明离线 OLAP 听起来相当混乱(离线在线分析处理)......?
究竟什么是“在线”?
terminology transaction olap database-theory online-operations
我一直在阅读有关 PostgreSQL 的新 CTE 功能 - MATERIALIZED 或 NOT MATERIALIZED 关键字 - 它可以在某些情况下提供额外的优化机会,前提是这样做是安全的。对此PostgreSQL 更新的评论如下:
...用户可以通过指定 MATERIALIZED 强制旧行为 [LESS OPTIMIZED];当查询故意使用WITH作为优化栅栏以防止计划选择不当时,这主要有用。
我一直想知道,考虑到在某种情况下使用 CTE 优化(不是 MATERIALIZED 关键字)是安全的,在这种情况下,优化程度较低的“MATERIALIZED”关键字可以“防止错误的计划选择”,如引用所述或提供更好的计划?
最后一点,这是/sf/ask/4249081091/上的问题的副本。我得到的建议是这个问题更适合这个社区,因此在这里重新发布。
我正在使用脚本和 psql 运行多个查询。我还使用 COPY TO 命令将结果导出到 a.csv。但是,当我想将结果附加到 a.csv 时,这会覆盖文件 a.csv。
是否可以使用 COPY TO 语法,也许我缺少一些参数?还是我应该考虑使用其他工具?