oracle 大数据查询优化的方案
某数据库中的一张表A,表A的数据库量现在大概有10亿条数据之多.
最初的做法是全部存放在一个表空间中.造成现在的查询速度龟爬似的.现在不得不对数据库做出重新评估和优化.
最初的前提:
1.中应该建立的索引都已具备
2.查询语句都已经做到优化:现在类似于 select count(1) from A 这么简单的一句统计SQL都需要100S左右
tangren 回复
这么多数据,一般都要将一个时间段以前的数据归档到另一台服务器。
减少OLAP环境的负荷,统计可以通过日结等生成报表。
还有分区不一定能够提高查询速度。分区主要是为提高扩展性,高可用性设计,便于管理。
如果使用了分区,你在查询中要按分区键来查询才能利用分区排除。
索引也进行相应的分区,可建立本地分区索引。
10亿数据量是多长时间?需要每小时建立一个分区?
oracle 9i、10g都不能自动分区,你可以生成一个定时运行的脚本,或建立一个JOB来定时执行,
或者一次手动建立足够多的分区。
相关文档:
Oracle进程结构
1. Oracle进程简介
每个连接到Oracle的用户需要运行两个模块才能访问Oracle实例。
。应用程序或Oracle工具:数据库用户需要运行数据库应用程序或Oracle工具(例如SQL*Plus),向Oracle数据库服务器提交SQL语句。
。Oracle数据库服务器模块:为用户提供服务的Oracle数据库程序,负责解释执行应用程序提交 ......
1.desc(描述) emp 描述emp这张表
2.desc dept 部门表
3.desc salgrade 薪水等级
4.select *from table 查找表中的元素
5.dual &nbs ......
查看Oracle 表结构的创建和最后修改时间
SELECT a.owner, a.table_name, created, last_ddl_time
from dba_tables a, SYS.dba_objects b
WHERE a.tablespace_name = 'USERS'
AND a.owner = b.owner
AND a.table_name = b.object_name
AND object_type = 'TABL ......
关于数据库死锁的检查方法
一、 数据库死锁的现象
程序在执行的过程中,点击确定或保存按钮,程序没有响应,也没有出现报错。
二、
死锁的原理
当对于数据库某个表的某一列做更新或删除等操作,执行完毕后该条语句 ......
下载解压了Oracle SQL Developer工具,运行时,启动不了,报错信息如下:
---------------------------
Unable to create an instance of the Java Virtual Machine
Located at path:
<SQLDEVELOPER>\jdk\jre\bin\client\jvm.dll
---------------------------
是JVM参数设置的问题,我的解决方案如下:
<SQ ......