1.当表进行大量insert、delete、update时,需要进行表信息收集。

当出现慢sql时,可以尝试优先对表进行analyze、vacuum analyze等操作。

2.当出现表连接没能走索引时,如能确定连接列的值,可在表连接操作时,直接指定值。

eg: select * from

t1 left join t2

on t1.id=t2.id

and

t1.id=$1;

3.函数可能会使索引失效,对于相关调用值未走索引的,可以尝试修改sql,将选中值不使用索引。

eg: date_part(‘epoch’,time) >= $1 转换为 time >= to_timestamp($1)

4.当不同环境相同表执行计划不同时,观察内存大小是否一致,当相差很多时,可调大

effective_cache_size后观察。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐