开发者社区> 问答> 正文

PolarDB执行 update 语句报错:too many range table entrie

已解决

错误信息: reparedStatementCallback; SQL [update p#busfw_t_dchead t set t.ISLEAF = 0 where guid in (select distinct nvl(t1.SUPERGUID,'0') from p#busfw_t_dchead t1 where t1.tablecode = ? and year = ? and province = ?) and year = ? and province = ? and t.tablecode = ?ERROR: too many range table entries; nested exception is com.aliyun.polardb.util.PSQLException: ERROR: too many range table entries

展开
收起
1992188272862832 2021-10-21 09:39:50 1460 0
1 条回答
写回答
取消 提交回答
  • 网络规划设计师、敏捷专家、CISP、ITSS服务经理、ACA全科目、ACP4项、ACE、CBP、CDSP、CZTP等。拥有 PRINCE2 Foundation/Practitioner、CCSK、ITIL、ISO27001、PMP等多项国际认证。 专利5+、期刊10+、知识产权师。核心期刊审稿人。
    采纳回答

    您好,分区过多导致的查询错误,不建议使用过多分区(例如几万条记录就搞一个分区, 除非你的读写都是业务层控制分区名, 直接在业务层访问)分区过多、高并发时, 需要更多的内存存储relcache, 执行计划也会变慢, 内存暴增。同时可能导致溢出。全表查询可能性能变差(例如要大量的open close fd).

    2021-10-21 09:47:35
    赞同 2 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
PolarDB+AnalyticDB助力交通物流行业系统升级 立即下载
PolarDB NL2SQL: 帮助您写出准确、优化的SQL 立即下载
云栖大会:开源 PolarDB 架构演进、关键技术与社区建设 立即下载