odoo14 如何处理stock_move_line中的大表行,超过6000万行数据? 查询时间超过5分钟, 已采取以下行动 1.指标优化 创建索引 stock_move_line_location_dest_id_index 在 public.stock_move_line (location_dest_id) 上 表空间 pg_default;
创建索引stock_move_line_location_id_index
在 public.stock_move_line (location_id) 上
表空间 pg_default;
2.表分区(哈希法)
创建或替换函数create_stock_move_line_trig()
返回 void 作为
$$
声明
开始
for i 在 0..99 循环中
执行 format('为 stock_move_line 的值创建表 stock_move_line_%s 分区 (MODULUS %s, REMAINDER %s)', i, {100}, i);
结束循环;
结尾;
$$ 语言 plpgsql;
select create_stock_move_line_trig();
谁有更好的处理方案和建议,大家交流一下?
我认为影响速度的不是行数,而是加载背后的查询。您可以检查执行了哪些查询,以便跟踪等待时间最长的位置吗?