大数据量查询,对数据库开发者来说,性能问题往往是最需要费尽心机的,借此总结自己优化此类问题的心得与大家分享,以免大家走更多的弯路。

1.使用主键临时表

大数据量表关联查询,是性能开销的主要原因。通过主键创建临时表,搬迁关联所需主键数据往往是我们在查询时的主要手段,接下来我们就可以通过主键临时表分批关联其他大表的方式轻松、高性能的实现大数据量查询。

2.只查询一次大表

在编写大数据量查询程序时,对于大的数据表,尽可能减少对大数据表的访问次数,必要时,可以缓存大数据表的结果。

3.分批处理,提高并发性能

数据查询就可用性来说,最基本的是响应要及时;当然,最重要的是对整个系统的并发行影响,本人比较反对通过伪分批方式实现海量数据查询。

3.只提取你需要的查询列:

大数据量查询,往往都需要通过分批的方法实现取数,当我创建了主键临时表时,切忌照搬整张大表,只需要搬迁我们需要的主键信息到临时表即可,毕竟搬迁一张海量数据表会耗费大量磁盘IO,搬迁的列越少开销势必越小。

ORACLE中大数据量查询实现优化的更多相关文章

  1. sql大数据量查询的优化技巧

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...

  2. Oracle大数据量查询实际分析

    Oracle数据库: 刚做一张5000万条数据的数据抽取,当前表同时还在继续insert操作,每分钟几百条数据. 该表按照时间,以月份为单位做的表分区,没有任何索引,当前共有14个字段,平均每个字段3 ...

  3. 任何抛开业务谈大数据量的sql优化都是瞎扯

    周三去某在线旅游公司面试.被问到了一个关于数据量大的优化问题.问题是:一个主外键关联表,主表有一百万数据,外键关联表有一千万的数据,要求做一个连接. 本人接触过单表数据量最大的就是将近两亿行历史数据( ...

  4. 大数据量查询容易OOM?试试MySQL流式查询

    一.前言 程序访问 MySQL 数据库时,当查询出来的数据量特别大时,数据库驱动把加载到的数据全部加载到内存里,就有可能会导致内存溢出(OOM). 其实在 MySQL 数据库中提供了流式查询,允许把符 ...

  5. offset新探索:双管齐下,加速大数据量查询

    摘要:随着offset的增加,查询的时长也会越来越长.当offset达到百万级别的时候查询时长通常是业务所不能容忍的. 本文分享自华为云社区<offset新探索:双管齐下,加速大数据量查询> ...

  6. Win环境下Oracle小数据量数据库的物理备份

    Win环境下Oracle小数据量数据库的物理备份 环境:Windows + Oracle 单实例 数据量:小于20G 重点:需要规划好备份的路径,建议备份文件和数据库文件分别存在不同的存储上. 1.开 ...

  7. mysql数据库优化方法大数据量查询轻松解决

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...

  8. SqlServer优化:当数据量查询不是特别多,但数据库服务器的CPU资源一直100%时,如何优化?

    最近和同事处理一个小程序,数据量不是特别大,某表的的数据记录:7000W条记录左右,但是从改别执行一次查询时,却发现查询速度也不快,而且最明显的问题就是CPU100%. sql语句: select g ...

  9. 提高MYSQL大数据量查询的速度

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...

随机推荐

  1. canvas加载gif

    http://ernestdelgado.com/public-tests/gifoncanvas/ <!DOCTYPE html><html><head> < ...

  2. php网站的定时事件

    提示信息: 1.crontab    (脚本定时.) 2. php    XXX.php(注:xxx.php页面是具体要做的事情.)

  3. 关于div的居中的问题

    (从已经死了一次又一次终于挂掉的百度空间人工抢救出来的,发表日期2014-01-11) div水平和垂直居中,text-align和vertical-align不起作用,因为标签div没有这两个属性, ...

  4. Builder

    Builder模式的使用情景 相同的方法, 不同的执行顺序, 产生不同的事件结果 多个部件或零件, 都可以装配到一个对象中, 但是产生的运行结果又不相同 产品类比较复杂, 或者产品类中的调用顺序不同产 ...

  5. Java中String对象的不可变性

    首先看一个程序 package reverse; public class Reverse { public static void main(String[] args) { String c1=n ...

  6. Lockless Ring Buffer Design

    https://www.kernel.org/doc/Documentation/trace/ring-buffer-design.txt Lockless Ring Buffer Design == ...

  7. javascript、jquery获取网页的高度和宽度

    javascript: 可视区域宽 :document.documentElement.clientWidth  (width + padding) 可视区域高 :document.documentE ...

  8. function设置jsp页面使用js控制文本框只读,并且按下backspace删除按钮后停在原页面

    最近一直在学习function设置之类的问题,现在正好有机会和大家分享一下. 设置只读 document.getElementById("projcode").setAttribu ...

  9. C++异常

    相对于C语言,C++增加了异常机制.考虑,异常解决了什么问题,又带来了什么问题. 异常解决了什么问题: 1.问题检测与问题处理相分离. 2.C语言只是返回一个整数,而异常带有上下文信息,方便找出问题. ...

  10. asp.net 获取url

    string url = Request.Url.ToString(); this.ImageLogo.ImageUrl = "http://" + Request.Url.Aut ...