随笔分类 -  pgsql

1 2 下一页

数据库索引失效:8 大常见场景 MySQL/PostgreSQL/Oracle)
摘要:索引是数据库提升查询性能的核心工具,但实际开发中,因 SQL 写法、数据类型或索引设计不当,常会导致索引失效,查询从 “索引扫描” 退化为 “全表扫描”,性能骤降。本文结合 MySQL、PostgreSQL、Oracle 三大主流数据库的特性,详解索引失效的 8 大高频场景、底层原因及针对性优化方案 阅读全文

posted @ 2025-12-01 10:45 数据派 阅读(153) 评论(0) 推荐(0)

怎样才能有效地减少索引失效的情况?
摘要:在 MySQL 数据库中,索引失效是导致慢 SQL 的常见原因之一。要有效减少索引失效的情况,需从索引设计、SQL 编写和数据库架构等多个层面进行优化。以下是具体的解决策略及实践方法: 一、避免在索引列上使用函数或表达式 失效场景 当查询条件对索引列使用函数或表达式时,索引将无法生效: -- 索引失 阅读全文

posted @ 2025-06-30 09:13 数据派 阅读(44) 评论(0) 推荐(0)

如何优化使用AND和OR运算符的查询性能?
摘要:在使用 AND 和 OR 运算符的查询中,为了提高性能,可以从多个方面进行优化,以下是详细介绍: 1. 合理创建和使用索引 为 AND 条件创建复合索引当查询中使用 AND 连接多个条件时,可以创建包含这些列的复合索引。复合索引能够让数据库在查找时更高效地定位到符合条件的记录。例如,对于查询 SEL 阅读全文

posted @ 2025-06-08 11:00 数据派 阅读(80) 评论(0) 推荐(0)

如何优化PostgreSQL中ORDER BY语句的性能?
摘要:在 PostgreSQL 中优化ORDER BY语句性能,可以从索引优化、查询优化、配置参数调整等方面入手。 索引优化 创建合适的索引:为ORDER BY子句中涉及的列创建索引,能显著提升排序性能。比如在SELECT * FROM employees ORDER BY salary;查询中,若sal 阅读全文

posted @ 2025-06-07 21:30 数据派 阅读(224) 评论(0) 推荐(0)

几种去重的SQL写法
摘要:在 SQL 中,数据去重有多种实现方式,以下是几种常见写法及其适用场景: 1. 使用 DISTINCT 关键字 语法: SELECT DISTINCT column1 [, column2, ...] FROM table_name; 说明:直接对指定字段组合进行唯一性筛选,仅保留首次出现的记录。示 阅读全文

posted @ 2025-06-06 15:55 数据派 阅读(658) 评论(0) 推荐(0)

为什么日期不建议使用VARCHAR2或者NUMBER?
摘要:在数据库中,日期数据不建议使用VARCHAR2或者NUMBER类型存储,而应使用专门的日期类型(如 Oracle 中的DATE、TIMESTAMP),主要原因包括以下几点: 存储效率: VARCHAR2:使用VARCHAR2存储日期,需要将日期数据以字符串形式存储。例如,常见的日期格式'YYYY-M 阅读全文

posted @ 2025-06-05 22:14 数据派 阅读(88) 评论(0) 推荐(0)

PostgreSQL 12 新特性-SQL、配置参数调整
摘要:PostgreSQL 12 在 SQL 功能和配置参数方面引入了许多重要的新特性和调整,下面为你详细介绍: SQL 相关新特性 1. 索引增强 B 树索引改进 降序索引优化:在 PostgreSQL 12 中,降序 B 树索引的性能得到了显著提升。降序索引和升序索引的性能差异大幅减小,这意味着在使用 阅读全文

posted @ 2025-06-05 22:14 数据派 阅读(170) 评论(0) 推荐(0)

PostgreSQL ERROR: no unpinned buffers available解决方案
摘要:在 PostgreSQL 中出现 ERROR: no unpinned buffers available 错误,通常意味着数据库在处理请求时,内存中的缓冲池已经没有未固定(unpinned)的缓冲区可供使用,这可能会导致性能下降甚至查询失败。以下是一些可能的解决方案: 1. 增加共享缓冲区大小 共 阅读全文

posted @ 2025-06-05 22:12 数据派 阅读(96) 评论(0) 推荐(0)

hot standby is not possible because max_connections = xx is a lower setting than on the master
摘要:postgresql主备高可用版在搭建主备流复制时,备库启动报错: hot standby is not possible because max_connections = 300 is a lower setting than on the master server (its value wa 阅读全文

posted @ 2025-06-05 22:12 数据派 阅读(51) 评论(0) 推荐(0)

postgresql如何使用函数进行字符串的拼接和操作?
摘要:在 PostgreSQL 中,有多个函数可用于字符串的拼接和操作。 字符串拼接 CONCAT() 函数:可以接受多个参数,并将它们连接成一个字符串,会自动处理 NULL 值。 SELECT CONCAT('Hello', ' ', 'World'); CONCAT_WS() 函数:用于指定分隔符进行 阅读全文

posted @ 2025-06-05 22:12 数据派 阅读(247) 评论(0) 推荐(0)

Postgresql数据库单个Page最多存储多少行数据
摘要:在 PostgreSQL 中,单个数据页(Page)的最大存储行数取决于多种因素,包括行结构、数据类型、填充因子(Fill Factor)以及系统开销。以下是详细解析: 一、Page 基本结构 PostgreSQL 数据页默认大小为 8KB(8192 字节),其结构包括: 页头(Page Heade 阅读全文

posted @ 2025-06-05 22:10 数据派 阅读(160) 评论(0) 推荐(0)

使用PIVOT函数进行行列转换?
摘要:在 SQL 中,PIVOT 函数可以将行数据转换为列数据,实现行列转换。下面通过示例详细介绍其用法。 基本用法示例 假设有一个 Sales 表记录了各地区不同产品的销售额: RegionProductAmount North Apple 100 North Banana 150 South Appl 阅读全文

posted @ 2025-05-30 10:03 数据派 阅读(188) 评论(0) 推荐(0)

如何使用EXISTS关键字优化子查询?
摘要:EXISTS 关键字是一个用于优化子查询的有效工具,它主要用于检查子查询是否会返回任何行。如果子查询至少返回一行,EXISTS 就会返回 TRUE;反之则返回 FALSE。下面详细介绍如何使用 EXISTS 关键字优化子查询,同时给出相关示例。 基本原理 EXISTS 不会像普通子查询那样返回具体的 阅读全文

posted @ 2025-05-02 21:43 数据派 阅读(113) 评论(0) 推荐(0)

PostgreSQL 事务详解
摘要:在 PostgreSQL 中,事务是一组数据库操作的逻辑单元,这些操作要么全部成功执行,要么全部不执行,以确保数据的一致性和完整性。以下从多个方面对 PostgreSQL 事务进行详解: 事务的基本概念 定义:事务是一个不可分割的工作单元,由一条或多条 SQL 语句组成。在 PostgreSQL 中 阅读全文

posted @ 2025-04-16 21:07 数据派 阅读(244) 评论(0) 推荐(0)

有索引却用不上的场景有哪些
摘要:在 Oracle 中,即使存在索引,优化器也可能因各种原因选择不使用索引。以下是常见的索引未被使用的场景及原因分析: 一、数据分布导致索引失效 索引列数据高度重复(低选择性) 原因:若索引列的唯一值很少(如性别、状态等枚举列),索引扫描的成本可能高于全表扫描(Full Table Scan, FTS 阅读全文

posted @ 2025-04-09 10:04 数据派 阅读(106) 评论(0) 推荐(0)

如何查询某个用户下能执行哪些存储过程?
摘要:不同的数据库系统,查询某个用户下能执行哪些存储过程的方法有所不同,下面分别介绍在常见数据库如 MySQL、Oracle 和 SQL Server 中的查询方式。 MySQL 在 MySQL 中,可以通过查询 information_schema.ROUTINES 系统表来获取某个用户可执行的存储过程 阅读全文

posted @ 2025-04-07 20:04 数据派 阅读(82) 评论(0) 推荐(0)

如何管理和控制PostgreSQL中的锁?
摘要:在 PostgreSQL 中,有效地管理和控制锁对于保证数据库的性能和数据一致性至关重要。以下是一些管理和控制 PostgreSQL 中锁的方法: 1. 选择合适的事务隔离级别 理解不同隔离级别对锁的影响 读已提交(Read Committed):这是 PostgreSQL 的默认隔离级别。在该级别 阅读全文

posted @ 2025-04-06 20:26 数据派 阅读(158) 评论(0) 推荐(0)

PostgreSQL事务的隔离级别有哪些?
摘要:PostgreSQL 支持四种事务隔离级别,分别为读已提交(Read Committed)、可重复读(Repeatable Read)、可串行化(Serializable)和读未提交(理论概念,PostgreSQL 无直接对应),各隔离级别在并发控制和数据一致性上有所不同: 读已提交(Read Co 阅读全文

posted @ 2025-04-04 16:28 数据派 阅读(379) 评论(0) 推荐(0)

HAVING子句和WHERE子句的区别是什么?
摘要:在数据库查询中,HAVING 子句和 WHERE 子句都是用于筛选数据的,但它们在使用场景、应用对象和语法规则等方面存在明显区别: 应用时机不同 WHERE 子句:在对数据进行分组操作之前起作用。它会先从表中筛选出满足条件的行,再将这些行进行分组处理。这就像是在一堆物品中,先挑选出符合特定条件的物品 阅读全文

posted @ 2025-04-03 13:40 数据派 阅读(160) 评论(0) 推荐(0)

Oracle decode函数详解
摘要:在 Oracle 数据库里,DECODE 函数是一个功能强大的条件判断函数,其作用是在 SQL 语句里进行条件判断与值替换。下面从基本语法、常见使用场景等方面详细介绍。 基本语法 DECODE(expression, search1, result1, search2, result2, ... [ 阅读全文

posted @ 2025-03-28 09:40 数据派 阅读(7525) 评论(0) 推荐(0)

1 2 下一页