oracle 大数据查询优化的方案
某数据库中的一张表A,表A的数据库量现在大概有10亿条数据之多.
最初的做法是全部存放在一个表空间中.造成现在的查询速度龟爬似的.现在不得不对数据库做出重新评估和优化.
最初的前提:
1.中应该建立的索引都已具备
2.查询语句都已经做到优化:现在类似于 select count(1) from A 这么简单的一句统计SQL都需要100S左右
tangren 回复
这么多数据,一般都要将一个时间段以前的数据归档到另一台服务器。
减少OLAP环境的负荷,统计可以通过日结等生成报表。
还有分区不一定能够提高查询速度。分区主要是为提高扩展性,高可用性设计,便于管理。
如果使用了分区,你在查询中要按分区键来查询才能利用分区排除。
索引也进行相应的分区,可建立本地分区索引。
10亿数据量是多长时间?需要每小时建立一个分区?
oracle 9i、10g都不能自动分区,你可以生成一个定时运行的脚本,或建立一个JOB来定时执行,
或者一次手动建立足够多的分区。
相关文档:
在access中有自动编号的数据类型,MSSQL和MYSQL也都有自动增长的数据类型,插入记录时不用操作此字段,会自动获得数据值,而oracle没有自动增长的数据类型,我们需要建立一个自动增长的序列号,插入记录时要把序列号的下一个值赋于此字段,可以预见的是,有此功能,我们可以把数据从ACCESS、MSSQL或MYSQ ......
建SEQUENCE序列
CREATE SEQUENCE 序列名字(例如:"URLIMAGE_SEQ") MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 101 CACHE 10 NOORDER NOCYCLE ;
建trigger 触发器
create or replace trigger 触发器名字(例如:URLIMAGE_TRI )
before ins ......
在pl/sql中使用exp/imp工具实现oracle数据导出/导入
Oracle 数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把 dmp文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。
执行环境 ......
希望高手可以帮忙一下 不胜感激
C:\Documents and Settings\Administrator>sqlplus /nolog
SQL*Plus: Release 10.2.0.3.0 - Production on 星期四 5月 20 17:23:05 2010
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
SQL> conn system/manager as sysdba;
已连接到空闲例程。
SQL> ......
下载解压了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 ......