我希望my_function
仅当 PL/PGSQL 函数 ( ) 的参数 ( my_table.x
) 属于预定义的间隔 (例如 [100,1000]) 时才允许执行它。
让我们看下面的查询示例:
(q) SELECT * FROM my_table WHERE my_function(mytable.x);
我希望此查询自动重写自身以检查是否mytable.x
属于区间 [100,1000] :
(q') SELECT * FROM my_table WHERE (my_table.x BETWEEN 100 AND 1000) AND my_function(my_table.x);
该命令EXPLAIN ANALYSE
显示第二个查询确实比第一个查询快。
如何更改查询执行计划以自动执行查询重写(q into q')的过程?我在哪里可以适当地存储有关区间 [100,1000] 的元数据my_function
?
预先感谢,
托马斯·吉罗
我需要的帮助将帮助一个关于将模糊逻辑集成到 PostgreSQL 中的项目:[https://github.com/postgresqlf/PostgreSQL_f/][PostgreSQLf]