2025-10-08 postgresql 基础入门 , B-Tree索引 , GiST索引 , 查询优化 , 数据库性能 , 空间数据查询 , 全文搜索 14 分钟阅读PostgreSQL索引选B-Tree还是GiST?“瑞士军刀”和“多面手”的差别你居然还不知道?索引是PostgreSQL中优化查询性能的核心工具,本质是表数据的“快速查找目录”,减少磁盘IO次数。B-Tree是默认索引类型,适用于等值查询、范围查询和排序,结构为自平衡树,查询时间稳定。GiST是高级索引类型,支持复杂数据类型和查询场景,如空间数据查询和全文搜索。选择索引时需结合查询需求、数据类型和维护成本,B-Tree适合常规查询,GiST适合复杂查 …阅读更多 cmdragon
2025-10-06 postgresql 基础入门 , 查询执行生命周期 , 查询优化 , 代价模型 , 统计信息 , 索引 , 连接方式 14 分钟阅读PostgreSQL处理SQL居然像做蛋糕?解析到执行的4步里藏着多少查询优化的小心机?PostgreSQL处理SQL查询的过程分为解析、重写、规划和执行四个阶段。解析阶段将SQL字符串转换为解析树,重写阶段处理视图和规则,规划阶段选择最优执行计划,执行阶段按计划执行查询。代价模型通过计算IO和CPU成本来优化查询,统计信息影响成本计算的准确性。使用索引、选择合适的连接方式和提前过滤数据是优化查询的关键。定期更新统计信息和合理使用索引可避免性能 …阅读更多 cmdragon
2025-10-04 postgresql 基础入门 , ACID , 数据库事务 , 原子性 , 一致性 , 隔离性 , 持久性 15 分钟阅读转账不翻车、并发不干扰,PostgreSQL的ACID特性到底有啥魔法?ACID是数据库事务的四个核心特性,包括原子性、一致性、隔离性和持久性。原子性确保事务要么完全执行,要么完全不执行;一致性保证事务执行前后数据库处于合法状态;隔离性确保并发事务互不干扰;持久性保证事务提交后修改永久保存。PostgreSQL通过事务日志、MVCC和锁机制等技术实现ACID特性,确保数据可靠性和一致性。阅读更多 cmdragon
2025-10-03 postgresql 基础入门 , 事务基础 , ACID属性 , 事务隔离级别 , 保存点 , 事务管理实践 , 常见报错及解决方案 15 分钟阅读银行转账不白扣钱、电商下单不超卖,PostgreSQL事务的诀窍是啥?事务是数据库中不可分割的工作单元,确保多个SQL操作要么全部成功,要么全部回滚。事务的可靠性由ACID四大特性保障:原子性、一致性、隔离性和持久性。PostgreSQL通过BEGIN、COMMIT和ROLLBACK语句控制事务生命周期,并支持四种隔离级别(读未提交、读已提交、可重复读和串行化)来解决并发冲突。保存点允许事务部分回滚,适用于复杂操作和批量处理。 …阅读更多 cmdragon
2025-10-02 postgresql 基础入门 , PL/pgSQL , 存储过程 , 数据库编程 , 动态SQL , 事务管理 , 错误处理 13 分钟阅读PostgreSQL里的PL/pgSQL到底是啥?能让SQL从“说目标”变“讲步骤”?PL/pgSQL 是 PostgreSQL 的过程化 SQL 语言,结合了 SQL 的声明式语法和过程式控制结构,用于编写复杂的数据库逻辑。其基本结构包括函数和过程,支持变量声明、参数传递、动态 SQL、条件判断、循环以及错误处理。通过 PL/pgSQL,用户可以实现计算、批量操作、事务控制等功能。函数通过 SELECT 调用,过程通过 CALL 调用,且过 …阅读更多 cmdragon
2025-10-01 postgresql 基础入门 , 视图创建语法 , 可更新视图 , 递归视图 , 视图安全 , 视图权限 , 视图常见报错 14 分钟阅读PostgreSQL视图不存数据?那它怎么简化查询还能递归生成序列和控制权限?PostgreSQL视图是基于SQL查询结果的虚拟表,不存储数据,仅保存查询逻辑。视图简化复杂查询、限制数据访问、隔离schema变化。创建视图使用CREATE VIEW语句,支持OR REPLACE替换已有视图、TEMPORARY创建临时视图、RECURSIVE递归视图。视图可指定列名、设置WITH选项(如security_barrier)、CHECK …阅读更多 cmdragon