【PostgreSQL 创新营】第二课:认识PostgreSQL中与众不同的索引 答疑汇总-阿里云开发者社区

开发者社区> 阿里云数据库> 正文
登录阅读全文

【PostgreSQL 创新营】第二课:认识PostgreSQL中与众不同的索引 答疑汇总

简介: 【PostgreSQL 创新营】第二课:认识PostgreSQL中与众不同的索引 答疑汇总
  1. 怎么系统的学一下pg库,或者数据库的这些原理性的东西
    德哥Github地址:https://github.com/digoal/blog/blob/master/README.md
    视频教程:https://github.com/digoal/blog/blob/master/201901/20190105_01.md

  2. 听说pg是多模数据库,这里的多模我应该怎么理解呢?
    可以理解为支持多种数据模型, 关系模型, nosql模型, 图谱模型, 时序模型, 流处理模型, 机器学习模型等. 同时支持模型扩展.

  3. 为什么要手动触发统计信息更新?PG做不到自动更新?
    支持自动, 有后台analyze进程。但是需要等调度, 一般1分钟左右(可以通过参数设置间隔), 遍历所有database。

  4. GIN索引中文能用么?
    能用。

  5. 中文分词怎么做?
    模糊查询不用分词;分词搜索才需要分词, 分词用zhparser, jieba等分词插件, 采用tsvector文本向量类型, tsquery搜索语法

  6. 9.5 pg_hba. Conf 改的话 必须重启数据库吗
    不需要重启, reload 就可以

  7. 索引相关问题,PostgreSQL 9种索引的原理和应用场景(btree , hash , gin , gist , sp-gist , brin , bloom , rum , zombodb , bitmap)
    https://github.com/digoal/blog/blob/master/201706/20170627_01.md

  8. PG用的是堆组织表还是索引组织表?普通索引数据结构是B树还是B+树?
    https://github.com/digoal/blog/blob/master/201605/20160528_01.md

  9. 请问 like "%XXX%"走索引的底层算法原理大概是什么样的?有参考的连接资料吗?
    https://github.com/digoal/blog/blob/master/202009/20200912_01.md

  10. PG的负载均衡有什么实现方案
    读写分离, pgpool-II或业务实现. sharding 采用shardingsphere或citus实现, 也可以使用现成等产品例如polardb, antdb, tbase等.
    https://github.com/digoal/blog/blob/master/202002/20200214_03.md

  11. pg库分区表怎么实现的,和分库分表之间改如何选用。
    继承.分区表建议使用PG新版本, 老版本在优化器方面有性能问题.
    满足业务需求等情况下优先使用分区. 分库会引入更多的业务限制.

  12. 主从结构,从库为什么也会有事事务,来自xcat字段
    事务解决数据库访问隔离,原子性等问题, 例如rc,rr,ssi隔离级别, 不管在主还是从库, 只要有隔离需求, 都需要开启事务. 所以从库也可以看到事务.

  13. pg数据量达到多大量的时候适合做分区?做表分区后会影响整体性能吗?
    取决于硬件性能以及业务使用模式.
    假设硬件足够好, update频率高的表建议单分区的大小满足垃圾回收的速度. 而更新不频繁的表, 可以大很多再分区, 可能达到上百GB再考虑分区.

  14. PG中遗传查询适用于什么场景,geqo_threshold设置多少合适呢?
    高并发多表关联查询, 减少优化器穷举开销.
    建议默认值.

  15. PG可以读取xml文件里面的二级或者三级标签的内容吗?可以的话如何实现?
    建议使用jsonb.
    是否支持二三级标签内容检索具体看pg的xml文档

  16. 查IP的那个例子里,多加一个索引,反而并没有变得高效,那些情况会发生这种状态?怎么避免?
    请再看一看视频, 注意用了哪个索引. ip范围搜索使用gist索引加速.

  17. 默认开启autovacuum,造成数据库夯住,请问原因是什么?我看手册只是写了是一些情况下,具体什么没说。有什么方法来避免出现这种情况吗?
    autovacuum锁粒度很小, 除了DDL会发生冲突, 其他不会有锁冲突, 建议再现场分析.

  18. 问下pg插件多了会会不会影响性能,有这方面的tps测试么
    不会影响.

  19. 我有个权限网点过滤的问题。一个1000万行的表,cst_id,sitid(数组) 。一个1000行的sit表,值唯一。用sit表过滤这个客户表如何能做的最快?
    数组包含查询使用gin索引.

  20. 千万级数据 多表关联的场景pg适合吗
    适合. 有nestloop, merge, hash等多种join方法. 支持并行计算加速大量数据join的运算.

  21. pg怎样将大数据量的查询结果快速导入另一张表
    inset into select ...

  22. PG 库的执行计划怎么分析,有没有文档之类的
    有文档, 在德哥的github的里面有视频讲解

  23. MSSQL有清空SQL缓存:DBCC FREEPROCCACHE
    我们pgsql有没有类似的清空SQL缓存 sql
    如果需要清空plan cache使用PG discard 语法
    如果是清空shared buffer使用外置插件

  24. 请问pg在图数据库应用上怎么优化和设置索引?
    使用CTE递归, 单层索引做到最有就可以.

  25. 能提高一个 pg 12 postgres.conf 启动参数文件 参考 发个链接供参考就可以
    德哥github里面有

  26. 本人是从mysql过来的,在mysql中create schema;和create database是一样的。PG中schema和database的区别是什么?
    德哥github里面有一篇pg逻辑架构体系介绍
    PG的结构是cluster-database(s)-schema(s)结构, 每一层都是隔离的, 权限也隔离.

  27. oracle-PG的异构迁移,函数和存储过程有好的解决办法吗?
    Ora2PG或者使用DSG收费产品, 阿里云adam等.

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
阿里云数据库
使用钉钉扫一扫加入圈子
+ 订阅

帮用户承担一切数据库风险,给您何止是安心!

官方博客
链接