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

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
简介: 【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等.

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍如何基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
9月前
|
存储 监控 关系型数据库
B-tree不是万能药:PostgreSQL索引失效的7种高频场景与破解方案
在PostgreSQL优化实践中,B-tree索引虽承担了80%以上的查询加速任务,但因多种原因可能导致索引失效,引发性能骤降。本文深入剖析7种高频失效场景,包括隐式类型转换、函数包裹列、前导通配符等,并通过实战案例揭示问题本质,提供生产验证的解决方案。同时,总结索引使用决策矩阵与关键原则,助你让索引真正发挥作用。
577 0
|
监控 关系型数据库 数据库
PostgreSQL的索引优化策略?
【8月更文挑战第26天】PostgreSQL的索引优化策略?
593 1
|
SQL 关系型数据库 OLAP
云原生数据仓库AnalyticDB PostgreSQL同一个SQL可以实现向量索引、全文索引GIN、普通索引BTREE混合查询,简化业务实现逻辑、提升查询性能
本文档介绍了如何在AnalyticDB for PostgreSQL中创建表、向量索引及混合检索的实现步骤。主要内容包括:创建`articles`表并设置向量存储格式,创建ANN向量索引,为表增加`username`和`time`列,建立BTREE索引和GIN全文检索索引,并展示了查询结果。参考文档提供了详细的SQL语句和配置说明。
510 2
|
JSON 关系型数据库 PostgreSQL
PostgreSQL 9种索引的原理和应用场景
PostgreSQL 支持九种主要索引类型,包括 B-Tree、Hash、GiST、SP-GiST、GIN、BRIN、Bitmap、Partial 和 Unique 索引。每种索引适用于不同场景,如 B-Tree 适合范围查询和排序,Hash 仅用于等值查询,GiST 支持全文搜索和几何数据查询,GIN 适用于多值列和 JSON 数据,BRIN 适合非常大的表,Bitmap 适用于低基数列,Partial 只对部分数据创建索引,Unique 确保列值唯一。
1299 15
|
SQL 关系型数据库 MySQL
SQL Server、MySQL、PostgreSQL:主流数据库SQL语法异同比较——深入探讨数据类型、分页查询、表创建与数据插入、函数和索引等关键语法差异,为跨数据库开发提供实用指导
【8月更文挑战第31天】SQL Server、MySQL和PostgreSQL是当今最流行的关系型数据库管理系统,均使用SQL作为查询语言,但在语法和功能实现上存在差异。本文将比较它们在数据类型、分页查询、创建和插入数据以及函数和索引等方面的异同,帮助开发者更好地理解和使用这些数据库。尽管它们共用SQL语言,但每个系统都有独特的语法规则,了解这些差异有助于提升开发效率和项目成功率。
2006 0
|
关系型数据库 数据库 PostgreSQL
PostgreSQL索引维护看完这篇就够了
PostgreSQL索引维护看完这篇就够了
1410 0
|
存储 关系型数据库 数据库
PostgreSQL技术大讲堂 - 第28讲:索引内部结构
从零开始学PostgreSQL技术大讲堂 - 第28讲:索引内部结构
1355 2
|
SQL 关系型数据库 数据库
RDS PostgreSQL索引推荐原理及最佳实践
前言很多开发人员都知道索引对于数据库的查询性能至关重要,一个好的索引能使数据库的性能提升成千上万倍。但给数据库加索引是一项相对专业的工作,需要对数据库的运行原理有一定了解。同时,加了索引有没有性能提升、性能提升了多少,这些都是加索引前就想知道的。这项繁杂的工作有没有更好的方案呢?有!就是今天重磅推出...
605 1
RDS PostgreSQL索引推荐原理及最佳实践
|
关系型数据库 Go 数据库
《提高查询速度:PostgreSQL索引实用指南》
《提高查询速度:PostgreSQL索引实用指南》
815 0
|
关系型数据库 分布式数据库 数据库
PolarDB for PostgreSQL 14:全局索引
PolarDB for PostgreSQL 14 相较于 PostgreSQL 14,提供了更多企业级数据库的特性。本实验将体验其中的全局索引功能。

相关产品

  • 云原生数据库 PolarDB
  • 云数据库 RDS PostgreSQL 版
  • 推荐镜像

    更多