摘要:分三个步骤在sqlplus环境下完成。 第一步,查询资源文件,找到CONNECT_TIME所在的profile名。 select resource_name,profile from dba_profiles; 第二步,用alter命令修改profile中的值; alter profile MONI
阅读全文
摘要:索引是数据库提升查询性能的核心工具,但实际开发中,因 SQL 写法、数据类型或索引设计不当,常会导致索引失效,查询从 “索引扫描” 退化为 “全表扫描”,性能骤降。本文结合 MySQL、PostgreSQL、Oracle 三大主流数据库的特性,详解索引失效的 8 大高频场景、底层原因及针对性优化方案
阅读全文
摘要:MAX_UTILIZATION代表数据库自上次启动以来达到的最大值 LIMIT_VALUE代表设置的最大值 select resource_name,MAX_UTILIZATION,LIMIT_VALUE from v$resource_limit where resource_name in ('
阅读全文
摘要:在备份一个蓝凌OA系统数据库时LBPM_PROCESS表时报ORA-01555错误,该表导出失败,报错log如下: ORA-31693: 表数据对象 "EKP9"."LBPM_PROCESS" 无法加载/卸载并且被跳过, 错误如下: ORA-02354: 导出/导入数据时出错 ORA-01555:
阅读全文
摘要:访问数据库的程序,一直运行的好好的,突然就出现了下面的问题: ORA-24550: signal received: [si_signo=11] [si_errno=0] [si_code=1] [si_int=0] [si_ptr=(nil)] [si_addr=0x1]Killed 印象中以前也
阅读全文
摘要:在 Oracle 的tnsnames.ora配置中,如果为同一服务配置了多个 IP 地址,客户端会按照地址列表的顺序依次尝试连接,直到成功建立连接。例如: MYDB = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST =
阅读全文
摘要:在 MySQL 数据库中,索引失效是导致慢 SQL 的常见原因之一。要有效减少索引失效的情况,需从索引设计、SQL 编写和数据库架构等多个层面进行优化。以下是具体的解决策略及实践方法: 一、避免在索引列上使用函数或表达式 失效场景 当查询条件对索引列使用函数或表达式时,索引将无法生效: -- 索引失
阅读全文
摘要:SQL> desc dba_sys_privs; 查询对象拥有的系统权限 Name Null? Type GRANTEE NOT NULL VARCHAR2(30) PRIVILEGE NOT NULL VARCHAR2(40) ADMIN_OPTION VARCHAR2(3) SQL> selec
阅读全文
摘要:文件说明:这里所说的参数文件指的是spfile,该文件存储的是实例启动的参数和控制文件的路径 模拟故障:清空该文件 echo ‘’ > $ORACLE_HOME/dbs/spfileorcltest.ora 现象:修改数据库参数时会报错 SQL> alter system set open_curs
阅读全文
摘要:在使用 AND 和 OR 运算符的查询中,为了提高性能,可以从多个方面进行优化,以下是详细介绍: 1. 合理创建和使用索引 为 AND 条件创建复合索引当查询中使用 AND 连接多个条件时,可以创建包含这些列的复合索引。复合索引能够让数据库在查找时更高效地定位到符合条件的记录。例如,对于查询 SEL
阅读全文
摘要:在 PostgreSQL 中优化ORDER BY语句性能,可以从索引优化、查询优化、配置参数调整等方面入手。 索引优化 创建合适的索引:为ORDER BY子句中涉及的列创建索引,能显著提升排序性能。比如在SELECT * FROM employees ORDER BY salary;查询中,若sal
阅读全文
摘要:在 SQL 中,数据去重有多种实现方式,以下是几种常见写法及其适用场景: 1. 使用 DISTINCT 关键字 语法: SELECT DISTINCT column1 [, column2, ...] FROM table_name; 说明:直接对指定字段组合进行唯一性筛选,仅保留首次出现的记录。示
阅读全文
摘要:在 Oracle 数据库中,日志文件主要指重做日志文件(Redo Log Files),它用于记录数据库的所有更改信息,对于数据库的恢复和事务处理至关重要。以下将详细介绍修改 Oracle 重做日志文件大小的步骤: 1. 查看当前日志文件信息 在修改日志文件大小之前,需要先了解当前日志文件的状态和大
阅读全文
摘要:在数据库中,日期数据不建议使用VARCHAR2或者NUMBER类型存储,而应使用专门的日期类型(如 Oracle 中的DATE、TIMESTAMP),主要原因包括以下几点: 存储效率: VARCHAR2:使用VARCHAR2存储日期,需要将日期数据以字符串形式存储。例如,常见的日期格式'YYYY-M
阅读全文
摘要:在 SQL 中,PIVOT 函数可以将行数据转换为列数据,实现行列转换。下面通过示例详细介绍其用法。 基本用法示例 假设有一个 Sales 表记录了各地区不同产品的销售额: RegionProductAmount North Apple 100 North Banana 150 South Appl
阅读全文
摘要:EXISTS 关键字是一个用于优化子查询的有效工具,它主要用于检查子查询是否会返回任何行。如果子查询至少返回一行,EXISTS 就会返回 TRUE;反之则返回 FALSE。下面详细介绍如何使用 EXISTS 关键字优化子查询,同时给出相关示例。 基本原理 EXISTS 不会像普通子查询那样返回具体的
阅读全文
摘要:当sql命令过多(sql文件过大)时,用plsql执行时比较慢而且容易超时,此时可以用sqlplus命令直接执行sql脚本文件,方法如下: 1、sqlplus登录 >sqlplus username/password@dbname 2、执行sql文件 如果sql文件在当前目录下,可以直接执行: >@
阅读全文
摘要:select count(*)、count(1)、count(主键列)和count(包含空值的列)有何区别? 在 SQL 中,SELECT COUNT(*)、SELECT COUNT(1)、SELECT COUNT(主键列) 和 SELECT COUNT(包含空值的列) 都是用于统计记录数量的,但它
阅读全文
摘要:在 Oracle 中,即使存在索引,优化器也可能因各种原因选择不使用索引。以下是常见的索引未被使用的场景及原因分析: 一、数据分布导致索引失效 索引列数据高度重复(低选择性) 原因:若索引列的唯一值很少(如性别、状态等枚举列),索引扫描的成本可能高于全表扫描(Full Table Scan, FTS
阅读全文
摘要:不同的数据库系统,查询某个用户下能执行哪些存储过程的方法有所不同,下面分别介绍在常见数据库如 MySQL、Oracle 和 SQL Server 中的查询方式。 MySQL 在 MySQL 中,可以通过查询 information_schema.ROUTINES 系统表来获取某个用户可执行的存储过程
阅读全文