这今天在研究kettle工具,是一款国外纯java开发的开源ETL工具,抽取数据确实非常方便,大家有空可以去下载下来试试看,方便之处在于它不用安装,解压完了就能直接用了(必须提前配置jdk和jre环境到系统环境中)。今天要说的不是这款软件,问题是由使用这个软件引起的,我在抽取数据后需要完成一个更新操作语句如下:
update case_person_saxx a set a.case_id=(select id from case_xzcf b where b.app_id = a.app_id) ;
update invole_case_unit_saxx a set a.case_id=(select id from case_xzcf b where b.app_id = a.app_id);
上面的语句中case_person_saxx表和case_xzcf 表中数据量大概在16万条左右,说起来也不是特别大,但是这个语句执行起来特别的慢,我等了半个多小时都没执行完,后来建索引稍微快一点,在网上找到一种更快捷的更新语句(因为我数据库基础不好很多语句不熟悉,呵呵!大神来看到了别笑话我就行!)如下:
merge into case_person_saxx t
using (select max(id) as id, app_id from case_xzcf group by app_id) s
on (t.app_id = s.app_id)
when matched then
update set t.case_id = s.id;
merge into invole_case_unit_saxx t
using (select max(id) as id, app_id from case_xzcf group by app_id) s
on (t.app_id = s.app_id)
when matched then
update set t.case_id = s.id;
测试了一下 7秒钟就完成了更新,瞬间让我觉得自己懂得太少,真心需要好好学习。
记下来以便自己以后查阅,如果有同样困扰的同学可以试试这个语句。
相关推荐
- **网络限制**:如果导出的数据量大,需要考虑网络带宽和稳定性,可能需要分批导出或者使用网络优化工具。 - **数据安全**:导出的数据可能包含敏感信息,确保在传输和存储过程中进行适当的加密和保护。 - **数据...
最后,**分区表**是Oracle数据库的一大特色,它将大表分成较小、更易管理的部分,每个部分称为一个分区。分区可以基于范围、列表、哈希等多种方式,有助于提高查询性能,简化管理和维护大数据量的表。 这个学习宝典...
在日常运维中,经常会遇到Oracle数据库服务器出现IO过高的情况,这种情况可能导致业务系统的响应速度变慢,甚至影响正常服务的提供。本文旨在深入探讨Oracle数据库服务器IO高的分析及解决策略,并结合理论与实践案例...
然而,在处理大量数据时,如何优化查询统计速度成为了提高整体系统性能的关键因素之一。本文将围绕如何提升Oracle数据库的查询统计速度进行深入探讨,并结合实际应用场景给出具体的优化建议。 #### 一、理解Oracle...
因此,在面对大数据量的迁移任务时,我们更倾向于寻找一种更为高效和可靠的迁移方案。 Oracle数据泵(Data Pump)的出现,为Oracle数据库迁移提供了新的解决方案。数据泵是一个集数据和元数据导出、导入以及传输为...
Oracle数据库数据迁移技术是企业在系统升级或转型过程中不可或缺的关键步骤,尤其在电信、银行等对数据连续性要求极高的行业中,不停库的数据迁移显得尤为重要。本文主要探讨Oracle数据库的数据迁移技术,包括各种...
针对Oracle数据库,常用的操作指令可以分为数据控制语句(DML)、数据定义语句(DDL)以及查询语句(SELECT)三个部分。 首先,数据控制语句(DML)部分包括插入(INSERT)、删除(DELETE)和更新(UPDATE)等基本...
本文聚焦于在Oracle数据库环境下,如何有效地执行大数据量删除操作,旨在分析性能问题,并提出相应的解决方案。 文章开篇即提出问题:在处理大量数据时,如何更高效地执行删除操作,同时尽量降低对业务运行的影响。...
- 避免使用全表扫描,特别是在数据量较大时。 - 将索引放置在查询条件的前列。 3. **优化SQL语句结构**: - 减少使用通配符(如`SELECT * FROM table`),改为指定所需的列名。 - 对于不需要全部数据的情况,...
- `DELETE`命令逐条删除记录,并记录每一条删除记录的动作,支持事务控制和触发器,但执行速度较慢且占用更多资源。 10. **使用COMMIT**:在执行完修改操作后,使用COMMIT命令提交更改非常重要。COMMIT操作将更改...
优化Oracle数据库的性能并非单一技术点所能解决的问题,而是一个系统的工程。通常情况下,资深的Oracle优化专家会建议从以下几个层面入手: 1. **网络环境**:确保网络的稳定性和带宽能够满足数据库的访问需求。 2....
在准备面试Oracle数据库管理员岗位时,掌握相关的技术知识和处理问题的能力是非常重要的。以下是针对给定的Oracle数据库DBA面试题的知识点详细解析: 1. **冷备份和热备份的区别及其优点**: - **热备份**:在...
- **文件**:持久化存储数据,安全性较高但读写速度较慢。 - **数据库**:结合内存和文件的优点,提供了一种高效且安全的数据存储解决方案。 #### 四、主流数据库简介 除了Oracle外,还有其他几种常见的数据库系统...
### ORACLE数据库工程师面试知识点详解 #### 一、冷备份与热备份的不同点及各自优点 **冷备份**指的是在数据库完全关闭的情况下进行的数据备份。这种方式适用于所有模式下的数据库,无论是归档模式还是非归档模式。...
首先,在服务器上安装Oracle数据库时,往往由于对Oracle的熟悉程度不同,或对建库总体信息量的估算偏差较大,有些参数(如系统-全局区中的某些参数)在安装时就存在着配置不当问题,从而不同程度地影响了系统的总体...
1. **字符串拼接操作**: 使用`||`进行字符串拼接会消耗较多的资源,特别是在处理大量数据时。 2. **全表扫描**: 使用`SELECT *`会导致数据库执行全表扫描,这意味着需要读取表中的每一行数据,即使只需要部分列的...
行链接发生在当插入数据量大的行时,如果单个Block无法存放一条完整的记录,则该记录的一部分会被存储到同一个Extent中的其他Block中,形成数据块链。行迁移则发生在更新操作使得记录长度增加,而原存储Block已满的...
而在数据量较大时,HASH JOIN或SORT-MERGE JOIN可能是更好的选择。 综上所述,Oracle数据库性能优化是一个复杂而细致的过程,需要综合考虑查询的特点、数据的结构以及系统的配置等多个因素。通过遵循上述原则和技巧...
Oracle数据库的自动数据优化特性是Oracle Database 12c中的一个重要功能,旨在解决日益增长的数据量带来的存储和性能挑战。随着企业数据量的迅速增加,传统的信息生命周期管理(ILM)策略变得尤为重要,以确保成本...
在Oracle数据库中,LOB数据类型的存储和优化是非常重要的,因为LOB数据类型占用的存储空间较大,且其读写操作也较慢。 在创建包含LOB字段的表时,Oracle将同时创建两个段来容纳指定的列,这两个段分别为LOBINDEX和...