oracle-数据库优化,现在由于数据量过大 而且要两个表合并来搜,怎么优化么?

问题描述

数据库优化,现在由于数据量过大 而且要两个表合并来搜,怎么优化么?

由于我程序分了运行表和历史表,但查询数据呢却需要两个表合并来搜,然后按时间排序,然后才做到网页分页,现在历史表数据量4亿,运行表数据量40W。主要是单一字段查询。应该怎么优化呢?

解决方案

可以选择用视图将两个表的内容放到一个视图里,用索引,拆表都是有一定的作用的。

解决方案二:

恩恩,可以采用楼上的做法

解决方案三:

楼上讲的很对,建立视图把两个表需要的数据放进去,通过索引查询,效率会大大提升。下面是视图的用法:
http://www.w3school.com.cn/sql/sql_view.asp

解决方案四:

两个数据库表中合并数据

解决方案五:

为什么要分历史表和运行表。如果是担心数据量大,影响效率,才分开的,则可以分析用户的业务实际模式,在业务上进行规避
同时、频繁的查询2个表。如果4亿的数据查询的速度很快,没有必要进行优化啊 。如果查询很慢,则可以对4亿的数据进行分区处理。查询条件索引
可以加上日期等等,不用单一的条件查询

时间: 2024-10-30 05:30:23

oracle-数据库优化,现在由于数据量过大 而且要两个表合并来搜,怎么优化么?的相关文章

数据量过大时数据库操作的处理

数据|数据库 随着"金盾工程"建设的逐步深入和公安信息化的高速发展,公安计算机应用系统被广泛应用在各警种.各部门.与此同时,应用系统体系的核心.系统数据的存放地――数据库也随着实际应用而急剧膨胀,一些大规模的系统,如人口系统的数据甚至超过了1000万条,可谓海量.那么,如何实现快速地从这些超大容量的数据库中提取数据(查询).分析.统计以及提取数据后进行数据分页已成为各地系统管理员和数据库管理员亟待解决的难题. 在以下的文章中,我将以"办公自动化"系统为例,探讨如何在

mysql 数据量太大,怎么优化一下

问题描述 mysql 数据量太大,怎么优化一下 SELECT dir1.url from dir1 LEFT JOIN dir2 on dir2.url=dir1.url where dir2.id is null or dir1.md5<>dir2.md5 如题,此语句当数据量大的时候会宕机 求助大神帮我想想怎么优化一下 因为我不是做这个的,我只是在c语言一个程序中用到了 然后用我的程序的人说会很慢,而且cpu占用率高 求助帮我优化 解决方案 数据有多大?看看执行计划 找出瓶颈在那里. 解决

extjs怎样将从oracle数据库获取到的数据进行分页显示?

问题描述 extjs怎样将从oracle数据库获取到的数据进行分页显示? extjs怎样将从oracle数据库获取到的数据进行分页显示? 解决方案 前台传回是第几页数据,后台查询结果返回OK 解决方案二: rownum between 1 and n 解决方案三: 是用jsp之类的东西读oracle数据库,然后生成extjs需要的json格式的数据返回给extjs加载,extjs无法直接加载oracle数据 http://blog.csdn.net/yizhiduxiu11/article/de

oracle 数据库...-oracle 数据库插入一条数据,某字段如何自动递增1

问题描述 oracle 数据库插入一条数据,某字段如何自动递增1 oracle 数据库插入一条数据,某字段如何自动递增1,oracle 数据库插入一条数据,某字段如何自动递增1,在线等.急急急.求大指点 解决方案 1,使用序列 2,手动使用变量++然后执行插入数据库记录 解决方案二: oracle 字段递增 表插入数据,id自动增1 解决方案三: Oracle里有序列,使用序列来实现 解决方案四: 序列: 是oacle提供的用于产生一系列唯一数字的数据库对象. l 自动提供唯一的数值 l 共享对

大数据-关于c#winform无数据库处理6万数据量的困惑

问题描述 关于c#winform无数据库处理6万数据量的困惑 有一个需求,6万条的txt文本中有八列,第一列为id其余为介绍列,id列需要检测是否重复,系统提供用户导出重复内容,提供删除重复项功能.要求减少其他第三方软件的安装,包括数据库.经过几次尝试,数据操作时间很长经常卡死.增加access数据库依然如此.请高手指点. 解决方案 你可以在循环中插入Application.DoEvents(); 这样就不会卡死了. 也可以放在工作线程中. 解决方案二: 6万记录不是很多,现在机器内存可以处理,

关键字的模糊匹配,数据量很大,在C#中有没有高效一点的办法,不用数据库,谢谢

问题描述 关键字的模糊匹配,数据量很大,在C#中有没有高效一点的办法,不用数据库,谢谢 关键字的模糊匹配,数据量很大,在C#中有没有高效一点的办法,不用数据库,谢谢 解决方案 分词,倒排索引,然后查询.总之要想速度快,需要多花一些存储空间. 解决方案二: C# 匹配

redis-缓存初始化数据库里数据量过大

问题描述 缓存初始化数据库里数据量过大 如果数据库里有十万条数据,redis初始化时,怎么样才能更高效将数据加入缓存? 解决方案 把不是必须的数据弄成延时加载 解决方案二: 只加载一部分,按一定优先级等.后续逐步加载

大数据-程序需要处理的数据量很大的时候该怎么做呢?

问题描述 程序需要处理的数据量很大的时候该怎么做呢? 如果程序一次需要处理的数据有很多,比如上千万条宠物信息,保存在txt中有100多个G,这时候需要对每条宠物数据做逐一处理,然后对处理结果分类综合再进行二次处理. 操作的时候,所有数据都同时放到内存中不太现实,请问这种情况下一般的处理思路是什么? 想的是做一个中间文件,第一次处理的时候,处理一条数据保存一条数据.但因为二次处理需要对所有的数据综合分析,所以还是要完全读取中间文件的数据. 刚做这方面的内容,请各位前辈多多指点,十分感谢. 解决方案

求一个合理算法,比较两个数据量较大的集合

问题描述 求一个合理算法,比较两个数据量较大的集合 现有listA,数据库B,A中的数据如果与B中不同(包含不存在的情况), 则将不同或不存在的数据记录到B中, 现在问题是,listA和数据库B都有大量数据, 求一个合理的比较二者数据的算法 解决方案 先排序再比较啊. 比较的时候: 如果 A[i] == B[j],继续下一个比较 A[i+1] 和 B[j+1]: 如果 A[i]<B[j].或者B没有可以比较的数,就是不存在: 如果 A[i]>B[j],继续下一个比较 A[i] 和 B[j+1]