- 博客(16)
- 收藏
- 关注
转载 oracle大量数据更新优化(merge)
实验环境中我采用两种方法进行优化,为了对比准确,没有加并行。总结:update的优化如果可以改写成merge或者update内联视图的方式,适用于大数据量更新,避免采用单条更新,防止多次扫描子查询中的表。资源允许情况,可以开启dml和查询并行。内部是通过单条跟新的方式进行,从p_t中那出一条记录去c_t中匹配,c_t中采用索引扫描,然后再通过rowid访问表取到name。实际应用中,我将语句改写成了merge,并加入了dml并行和select并行提示,将原来更新两个多小时的sql优化到只跟新了3分钟不到。
2023-09-26 11:37:42
1982
转载 一文搞懂Mysql索引所有知识点
官方介绍索引是帮助MySQL高效获取数据的数据结构。更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往是存储在磁盘上的文件中的(可能存储在单独的索引文件中,也可能和数据一起存储在数据文件中)。我们通常所说的索引,包括聚集索引、覆盖索引、组合索引、前缀索引、唯一索引等,没有特别说明,默认都是使用B+树结构组织(多路搜索树,并不一定是二叉的)的索引。看到这里,你是不是对于自己的sql语句里面的索引的有了更多优化想法呢。
2023-09-20 17:27:50
216
转载 【无标题】ORACLE 上亿级别表数据库优化
update /*+parallel(t2,4)*/ t2 i set city=(select /*+parallel(hbipdetail,4)*/ city from hbipdetail h where i.numip=h.numip and rownum=1),sts=1 where i.province='湖北'这种方法首先需要编程实现,将更新总量除以每次更新的数据量集,做循环打印日志,这种处理方案的好处是可以知道更新的具体进度,但是对于提高处理效率没有帮助。
2023-09-19 09:57:24
898
转载 深入Java线程池:从设计思想到源码解读
线程池:从设计思想到源码解析 前言初识线程池线程池优势线程池设计思路 深入线程池构造方法任务队列拒绝策略线程池状态初始化&容量调整&关闭 使用线程池ThreadPoolExecutorExecutors封装线程池 解读线程池execute()add...
2021-08-15 17:15:02
329
转载 内存分析工具 MAT 详解
Mat的作用MAT是Memory Analyzer tool的缩写,是一种快速,功能丰富的Java堆分析工具,能帮助你查找内存泄漏和减少内存消耗。很多情况下,我们需要处理测试提供的hprof文件,分析内存相关问题,那么MAT也绝对是不二之选。 Eclipse可以下载插件结合使用,也可以作为一个独立分析工具使用;下载地址:https://www.eclipse.org/mat/downloads.phpMat的使用步骤打开Mat后File>OpenHeapDump打开一个对应的dump文件后.
2021-04-29 22:33:18
6106
转载 B树,B+树,B*树详解
名词解释B树:二叉查找树,每个结点只存储一个关键字,等于则命中,小于走左结点,大于走右结点;B-树:多路搜索树,每个结点存储M/2到M个关键字,非叶子结点存储指向关键字范围的子结点;所有关键字在整颗树中出现,且只出现一次,非叶子结点可以命中;B+树:在B-树基础上,为叶子结点增加链表指针,所有关键字都在叶子结点中出现,非叶子结点作为叶子结点的索引;B+树总是到叶子结点才命中;B*树:在B+树基础上,为非叶子结点也增加链表指针,将结点的最低利用率从1/2提高到2/3;B-tree的用...
2021-04-25 21:56:50
957
转载 深入学习二叉树(三) 红黑树
写在前面当在10亿数据进行不到30次比较就能查找到目标时,不禁感叹编程之魅力!人类之伟大呀! —— 学红黑树有感。终于,在学习了几天的红黑树相关的知识后,我想把我所学所想和所感分享给大家。红黑树是一种比较难的数据结构,要完全搞懂非常耗时耗力,红黑树怎么自平衡?什么时候需要左旋或右旋?插入和删除破坏了树的平衡后怎么处理?等等一连串的问题在学习前困扰着我。如果你在学习过程中也会存在我的疑问,那么本文对你会有帮助,本文帮助你全面、彻底地理解红黑树!本文将通过图文的方式讲解红黑树的知识点,并且不会涉及到任何代
2021-04-22 22:18:30
353
转载 深入学习二叉树(一) 二叉树基础
深入学习二叉树(一) 二叉树基础前言树是数据结构中的重中之重,尤其以各类二叉树为学习的难点。一直以来,对于树的掌握都是模棱两可的状态,现在希望通过写一个关于二叉树的专题系列。在学习与总结的同时更加深入的了解掌握二叉树。本系列文章将着重介绍一般二叉树、完全二叉树、满二叉树、线索二叉树、霍夫曼树、二叉排序树、平衡二叉树、红黑树、B树。希望各位读者能够关注专题,并给出相应意见,通过系列的学习做到心中有“树”。1 重点概念1.1 结点概念结点是数据结构中的基础,是构成复杂数据结构的基本组成单位。1.2 树
2021-04-12 22:59:44
518
转载 java数据结构和算法栈的设计与应用
【版权申明】转载请注明出处(请尊重原创,博主保留追究权) http://blog.csdn.net/javazejian/article/details/53362993 出自【zejian的博客】 关联文章: java数据结构与算法之顺序表与链表设计与实现分析 java数据结构与算法之双链表设计与实现 jav...
2021-03-31 21:39:34
232
转载 什么是阻塞队列?
什么是阻塞队列?阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作是:在队列为空时,获取元素的线程会等待队列变为非空。当队列满时,存储元素的线程会等待队列可用。阻塞队列常用于生产者和消费者的场景,生产者是往队列里添加元素的线程,消费者是从队列里拿元素的线程。阻塞队列就是生产者存放元素的容器,而消费者也只从容器里拿元素。阻塞队列提供了四种处理方法:方法\处理方式抛出异常返回特殊值一直阻塞超时退出插入方法add(e)offer(e)pu.
2020-07-28 00:38:39
3850
原创 数组的动态扩容以及缩容
数组数组(Array)是一种线性表的数据结构,是一组连续的存储空间(区别于链表,不连续)用来存储相同类型的数据。连续的内存空间数组在内存中的存储方式是一组给定长度的连续的空间。连续的空间才使得数组可以实现通过下标随机访问。java中常用的list集合,例如ArrayList,底层就是用数组实现的,最底层的数据初始化的时候就已经指定好了该数组的长度。特点可以直接随机访问(依据下标访问)其中的任意数据随机访问数据非常高效低效的插入和删除我们在使用ArrayList时,在不了解数据个数的情况下
2020-07-26 19:35:29
1334
1
原创 浅谈数据结构中的链表,以及内部实现方式
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2020-07-24 00:26:19
399
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅