热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

Oracle如何快速操作千万级大表数据

Oracle如何快速操作千万级大表数据:不管Oracle有多牛,一个上千万级记录数据的表操作起来还是很慢,是超级慢.最近公司处理一个接近一亿记录数的表,需要按时间删除前几个月的数据,这个就头疼了.就是

Oracle如何快速操作千万级大表数据:

不管Oracle有多牛,一个上千万级记录数据的表操作起来还是很慢,是超级慢.最近公司处理一个接近一亿记录数的表,需要按时间删除前几个月的数据,这个就头疼了.就是统计此表的总记录数都要处理10多分钟,更不用说根据时间条件去删除数据了.现在说说我在操作大表时遇到的问题吧.

1.删除数据非常慢

刚开始我使用的是这个sql:

delete from sun_log_access_2016 where time

这就是告诉oracle我要删除7月份之前的所有数据,oracle在处理这个sql的时候会去遍历那一亿数据(这就会花费一大部分时间),在遍历的事就计算每条记录的time然后判断,判断晚了之后再删除.在删除的过程中oracle还要记录redo日志(此日志是为了恢复删除的数据),这也需要花费大量的时间,若表中有索引,在删除的过程中oracle还要维护索引,这也会占用大量的性能.

用此sql在一亿数据中删除300万数据需要一两百分钟(可怕呀!!!)

2我修改后的删除方案

使用此sql:

delete from sun_log_access_2016 nologging where time

指定nologging关键字,让oracle不记录日志

删除此表的索引(删除完了之后从建索引)

用此sql在一亿数据删除300万数据只需要10多分钟(这就是效率)


在删除过程中如果一次性删除数据量过大则会抛出undo异常,关注此博客->

http://blog.csdn.net/admin1973/article/details/54693066


查看oracle表空间使用情况:

http://www.cnblogs.com/askjacklin/archive/2012/06/04/2534571.html

查看oracle nologging关键字:

http://blog.csdn.net/sdl_ok/article/details/5474774

oracle删除千万级数据:

http://blog.sina.com.cn/s/blog_70b55b1a0100y5ek.html



推荐阅读
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 在Ubuntu 16.04 LTS上配置Qt Creator开发环境
    本文详细介绍了如何在Ubuntu 16.04 LTS系统中安装和配置Qt Creator,涵盖了从下载到安装的全过程,并提供了常见问题的解决方案。 ... [详细]
  • 高效解决应用崩溃问题!友盟新版错误分析工具全面升级
    友盟推出的最新版错误分析工具,专为移动开发者设计,提供强大的Crash收集与分析功能。该工具能够实时监控App运行状态,快速发现并修复错误,显著提升应用的稳定性和用户体验。 ... [详细]
  • MySQL索引详解与优化
    本文深入探讨了MySQL中的索引机制,包括索引的基本概念、优势与劣势、分类及其实现原理,并详细介绍了索引的使用场景和优化技巧。通过具体示例,帮助读者更好地理解和应用索引以提升数据库性能。 ... [详细]
  • 本文探讨了MariaDB在当前数据库市场中的地位和挑战,分析其可能面临的困境,并提出了对未来发展的几点看法。 ... [详细]
  • 在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • 精选30本C# ASP.NET SQL中文PDF电子书合集
    欢迎订阅我们的技术博客,获取更多关于C#、ASP.NET和SQL的最新资讯和资源。 ... [详细]
  • andr ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • libsodium 1.0.15 发布:引入重大不兼容更新
    最新发布的 libsodium 1.0.15 版本带来了若干不兼容的变更,其中包括默认密码散列算法的更改和其他重要调整。 ... [详细]
  • VSCode与Gitee集成:项目提交的高效实践
    本文介绍如何利用VSCode内置的Git工具将项目提交到Gitee,简化Git命令的使用,提升代码管理效率。同时分享一些常见的踩坑经验和解决方案。 ... [详细]
  • 本文探讨了领域驱动设计(DDD)的核心概念、应用场景及其实现方式,详细介绍了其在企业级软件开发中的优势和挑战。通过对比事务脚本与领域模型,展示了DDD如何提升系统的可维护性和扩展性。 ... [详细]
author-avatar
Idi-amin_643
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有