【DB吐槽大会】第73期 - PG 统计信息无法迁移

简介: 大家好,这里是DB吐槽大会,第73期 - PG 统计信息无法迁移

背景


1、产品的问题点

  • PG 统计信息无法迁移

2、问题点背后涉及的技术原理

  • PG 的优化器需要依靠统计信息来计算SQL的代价、选择性等.
  • 统计信息包括记录数、SIZE、每一列的高频词、柱状图、唯一值个数、等等.
  • PG 支持表达式统计信息、自定义多列统计信息等.
  • PG 支持手工的analyze, vacuum analyze语法来生成统计信息.
  • 但是PG的统计信息无法导出、导入, 如果发生备份恢复动作, 需要重新收集统计信息.

3、这个问题将影响哪些行业以及业务场景

  • 通用
  • 通常发生在大版本升级、大量数据逻辑迁移或恢复的场景中.

4、会导致什么问题?

  • 大版本升级后, 无统计信息, 如果数据库立即开放给业务使用, 可能导致执行计划不准确, 引起性能问题甚至影响业务
  • 大量数据通过逻辑导出导入时, 导入结束后需要收集统计信息, 如果未及时收集统计信息就开放给业务使用的话, 可能导致SQL执行计划不准确, 引起性能问题甚至影响业务

5、业务上应该如何避免这个坑

  • 大版本升级、大量数据通过逻辑导出导入后, 收集统计信息后再开放给业务使用.

6、业务上避免这个坑牺牲了什么, 会引入什么新的问题

  • 收集统计信息需要扫描数据, 相比直接导出导入更耗时.

7、数据库未来产品迭代如何修复这个坑

  • 希望内核层面支持统计信息导出、导入.
相关文章
|
SQL 关系型数据库 数据库
【DB吐槽大会】第75期 - PG 不支持索引失效功能
大家好,这里是DB吐槽大会,第75期 - PG 不支持索引失效功能
|
SQL 存储 关系型数据库
【DB吐槽大会】第61期 - PG 审计功能有巨大增强空间
大家好,这里是DB吐槽大会,第61期 - PG 审计功能有巨大增强空间
|
存储 JSON 搜索推荐
【DB吐槽大会】第35期 - “富人”的烦恼?PG 不会自动选择索引类型
大家好,这里是DB吐槽大会,第35期 - “富人”的烦恼?PG 不会自动选择索引类型
|
关系型数据库 Java 数据库
【DB吐槽大会】第18期 - PG 索引无版本信息
大家好,这里是DB吐槽大会,第18期 - PG 索引无版本信息
|
SQL 存储 关系型数据库
【DB吐槽大会】第74期 - PG 不支持SQL维度资源限流
大家好,这里是DB吐槽大会,第74期 - PG 不支持SQL维度资源限流
|
SQL Oracle 关系型数据库
【DB吐槽大会】第48期 - PG 性能问题发现和分析能力较弱
大家好,这里是DB吐槽大会,第48期 - PG 性能问题发现和分析能力较弱
|
SQL Oracle 关系型数据库
【DB吐槽大会】第39期 - PG 物化视图不支持基于log的增量刷新
大家好,这里是DB吐槽大会,第39期 - PG 物化视图不支持基于log的增量刷新
|
SQL 存储 关系型数据库
【DB吐槽大会】第60期 - PG 只读实例不支持写操作
大家好,这里是DB吐槽大会,第60期 - PG 只读实例不支持写操作
|
SQL 关系型数据库 Java
【DB吐槽大会】第16期 - PG Standby不支持解析逻辑日志
大家好,这里是DB吐槽大会,第16期 - PG Standby不支持解析逻辑日志
|
存储 安全 关系型数据库
【DB吐槽大会】第52期 - PG 函数内容不支持加密
大家好,这里是DB吐槽大会,第52期 - PG 函数内容不支持加密