Kingbase(PostgreSQL系)plan_cache_mode对谓词表达式合并的影响
对于参数值可能导致截然不同的最优执行计划的工作负载,依赖默认设置plan_cache_mode = auto可能并非总能达到预期效果。在这种情况下,强制使用自定义执行计划plan_cache_mode = force_custom_plan可以确保优化器在每次执行时都考虑实际的参数值。
提供综合数据库运维服务与优化方案(不限Oracle MySQL PG GaussDB GoldenDB OceanBase等), 微信/Tel:(+86)134-365-60330
对于参数值可能导致截然不同的最优执行计划的工作负载,依赖默认设置plan_cache_mode = auto可能并非总能达到预期效果。在这种情况下,强制使用自定义执行计划plan_cache_mode = force_custom_plan可以确保优化器在每次执行时都考虑实际的参数值。
在SQL的初始解析阶段PostgreSQL和ORACLE rdbms有很多相似之处, 如开始会进行语法、语义的检查,那些元数据存在system表空间(oracle)或 system catalog(PostgreSQL). 然后根据之前预准备的统计信息(可能动态采样),CBO 会为SQL执行生成一个执行计划. 但是在解析完成后ORACLE和PG(以下用PG代替PostgreSQL)会存在一些差异,oracle会把执行计划存储在shared pool(Libaray cache)中对于所有会话可以共享,但是PG存储在program的本地内存中