Oracle千万条记录插入与查询小结关键字:oracle海量查询效率优化最近做了个项目,实现对存在千万条记录的库表进行插入、查询操作。原以为对数据库的插入、查询是件很容易的事,可不知当数据达到百万甚至千万条级别的时候,这一切似乎变得相当困难。几经折腾,总算完成了任务。在此做些简单的小结,不足之处,还望javaeye的高手们帮忙补充补充!1、避免使用Hibernate框架Hibernate用起来虽然方便,但对于海量数据的操作显得力不从心。关于插入:试过用Hi
系统 2019-08-12 01:52:11 1771
oracle在创建表时和其他的数据库有点不一样,如SQLSERVER可以在int类型的字段后加上identity(1,1),该字段就会从1开始,按照+1的方式自增,将这个字段设置为主键,有利于我们进行数据的插入操作。MySql中可以使用“auto_increment”即可。但是oracle有点麻烦,需要使用序列和触发器达到目的。首先我们创建一个员工表。createtableemployee(Idint,DeptNonumber,EmpNonumber,En
系统 2019-08-12 01:32:56 1771
oracle存储过程的基本语法及注意事项oracle存储过程的基本语法1.基本结构CREATEORREPLACEPROCEDURE存储过程名字(参数1INNUMBER,参数2INNUMBER)IS变量1INTEGER:=0;变量2DATE;BEGINEND存储过程名字2.SELECTINTOSTATEMENT将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND)例子:
系统 2019-08-12 09:30:14 1770
1.函数createorreplacefunctionget_Destroy_noreturnvarchar2isResultvarchar2(50);beginSELECTmax(destroy_no)INTORESULTFROMt_oms_device_destroyWHEREsubstr(destroy_no,0,8)=to_char(SYSDATE,'yyyymmdd');IF(RESULT=''ORRESULTISNULL)THENRESULT:
系统 2019-08-12 01:55:21 1770
索引需要平衡query和DML的需要,常用于(子)查询的表应建立索引;把索引建到不同的表空间中;用统一的extent大小:五个block的倍数或者tablespace指定的MINIMUMEXTENT的倍数;创建索引考虑用NOLOGGING参数,重建索引的时候也一样;创建索引时INITRANS值应该比相应的table的值高一些;对常用SQL语句的where条件中的列建立唯一索引或组合索引,组合条件查询中相应的组合索引更有效;对于组合索引,根据列的唯一值概率,
系统 2019-08-12 01:53:21 1770
iSqlPlus是Oracle9i提供的新功能,是Sqlplus的Web形式发布。是基于三层结构涉及的。其client、middle、server可以位于同一台机器上也可以位于不同的机器。iSqlPlus不需要单独安装,访问iSqlPlus你只需要知道中间层服务器的地址和端口,可以以标准用户或者sysdba、sysoper的身份登陆。iSQL*Plus提供快速的、基于浏览器的界面,它通过一个三层模型来使用SQL*Plus处理引擎,这个模型包括:客户机层(i
系统 2019-08-29 23:17:06 1769
利用OSB(OracleServiceBus)的ContentStreaming处理大消息最近发现有人用OSB(OracleServiceBus,即原BEA的AquaLogicServiceBus的后续版),传送消息的文本大小平均接近200K,最大有10M。这种消息大小看来不是常规的一些业务字段,而是较大的业务报文。这样大的消息,又是XML的,恐怕对OSB的性能有影响。这是你在OSB的代理服务里面使用了MessageFlow,里面可能用到你的body的一些
系统 2019-08-29 22:44:30 1769
有一个数据库硬盘空间满了,查看发现一个dbf超大,并且不在规定的路径下,知道是一个非重要数据文件,于是删除。后来重启数据库时,SQL>startupORACLEinstancestarted.TotalSystemGlobalArea285212672bytesFixedSize1218992bytesVariableSize96470608bytesDatabaseBuffers184549376bytesRedoBuffers2973696bytesD
系统 2019-08-12 01:55:11 1769
概念:高级队列(AdvancedQueue,简称AQ):高级队列是oracle的一种高级应用,它主要是表和触发器之间的组合而成的一种应用。其主要作用是在各应用系统中进行消息传递。目的:利用高级队列来实现消息在两个不同数据库之间的异步传输,满足业务系统的改造需求。基本环境:DB1:Oracle10gVersion10.2.0.4.0DB2:Oracle10gVersion10.2.0.4.0基本组成:发送方(DB1):Queuetype:决定发送消息的类型Q
系统 2019-08-12 01:54:44 1768
本文档旨在说明如何在OracleBI中使用HTTP(URL或JavaScript)方法实现一些特定的展示效果。本文档包含以下主题:1、使用GoURL在外部Portal或应用中引入OracleBI视图;2、使用DashboardURL在外部Portal或应用中引用Dashboard内容;3、使用GoURL传递SQL或筛选器;4、使用JavaScript进行筛选1使用GoURL在外部Portal或应用中引入OracleBI视图此部分介绍了如何通过使用GoURL
系统 2019-08-12 01:53:53 1768
1.Oracle10g安装过程中出现“无法确定主机的IP地址时产生该异常错误”。(本机设置自动获得IP地址)Oracle在用NetConfiguraton配置网络服务名时需要取系统的IP地址,而如果解析IP地址错误就会出现上述异常。经修改c:\windows\system32\drivers\etc\hosts文件来手动解析后安装成功,文件内容如下:127.0.0.1localhost192.168.1.102ldgis2.检查完成。此次检查的总体结果为:
系统 2019-08-12 01:53:42 1768
createtablespacestudentDBdatafile'E:\datafiles_1.dbf'size10m;createuserHuang_Ying_Boidentifiedbyhyb123456defaulttablespacestudentDBgrantconnecttoHuang_Ying_BograntresourcetoHuang_Ying_BodroptableTechEd_T_Students/*创建学生信息表*/createt
系统 2019-08-12 01:52:58 1768
作者:eygle出处:http://www.eygle.com/blog日期:October28,2005本文链接:http://www.eygle.com/archives/2005/10/howto_control_10goem.html«OracleHowTo:如何快速杀死占用过多资源(CPU,内存)的数据库进程|Blog首页|SymantecVISION2005China下月召开»从Oracle10g开始,Oracle极大的增强了OEM工具,并通过
系统 2019-08-29 23:28:18 1767
一.进程概述先来看一下Oracle11g的架构图。看起来比较模糊,我已经上传到了csdn的下载。是个pdf文件,2m多。那个看起来比较清楚。也对每个进程做了解释。下载地址:Oracle11g架构图fromOracleUniversityhttp://download.csdn.net/source/2346700进程是操作系统中的一种机制,它可执行一系列的操作步。在有些操作系统中使用作业(JOB)或任务(TASK)的术语。一个进程通常有它自己的专用存储区。
系统 2019-08-29 22:07:13 1767
解决办法:1、下载32位Oracle客户端其实可以下载免安装版的,http://www.oracle.com/technetwork/topics/winsoft-085727.html我下载的是第一个:http://download.oracle.com/otn/nt/instantclient/112030/instantclient-basic-nt-11.2.0.3.0.zip下载需要登录,得先在Oracle注册账号才能下载!2、解压将下载到的将其
系统 2019-08-12 09:29:44 1767