随笔分类 - 实际中问题
摘要:文章主要介绍的是Oracle临时表的实际用法的经验心得,我们目前所使用的 Oracle是作为数据库支撑平台的实际应用,可以说其数据量还是算的上比较庞大的系统,即表的数据量一般情况下都是在百万级以上的数据量。 当然在 Oracle 中创建分区是一种不错的选择,但是当你发现你的应用有多张表关联的时候,并且这些表大部分都是比较庞大,而你关联的时候发现其中的某一张或者某几张表关联之后得到的结果集非常小并且查询得到这个结果集的速度非常快,那么这个时候我考虑在 Oracle 中创建“临时表”。 我对临时表的理解:在 Oracle 中创建一张表,这个表不用于其他的什么功能,主要用于自己的软件系统一些特有..
阅读全文
摘要:前言:关于oracle sql查询的优化规则,一般建议大表最好只查询一次。那么,怎么样就能做到前一次的大表查询结果能被下一个查询用到呢?我认为WITH很不错。with a as (select dummy from dual),b as (select dummy from dual)select a.dummy,b.dummy from a,b where a.dummy = b.dummy /********************************/Starting in Oracle9i release 2 we see an incorporation of the SQL-9
阅读全文
摘要:朱哥发给我做的。一、有如下表id parentid name1 0 电脑2 1 笔记本3 1 台式机4 1 服务器5 2 联想6 5 T40根据上表数据,查询出:1 电脑2 电脑 - 笔记本3 电脑 - 台式机4 电脑 - 服务器5 电脑 - 笔记本 - 联想6 电脑 - 笔记本 - 联想 - T40--------------------------------------------------------create table test_03( id int, parentid int,name varchar2(20));insert into test_03 values (1,0
阅读全文
摘要:sqlldr是cmd下的命令,用来将文本格式数据导入到数据库中。命令格式:sqlldr username/password@sid control=*.ctl*.ctl格式为:loadinfile "d://test.txt" 外部数据文件infile "d://test1.txt" 可指定多个数据文件append into table test 向表中追加数据fields terminated by "," 外部文件的数据以“,”分隔trailing nullcols 表中的字段没有对应的值时填充空值(id integer exte
阅读全文
摘要:这几天感冒了,浑身很惬意就是没力气。工作上遇到了几个高级分组跟取数的东东,用到了分析函数:暂时列举出来,过几天等身体好了再补上教程。OVER:select distinct 保单号, 生效时间, 二级机构, 产品名称, count(*) over(partition by 保单号, 生效时间, 二级机构,产品名称) 件数 from WJRS_XB_20110825_04where 保单号 = 'HP02020000121158';Rank, Dense_rank, row_number:select 保单号, 生效日期, 产品, 客户账号所属银行, 失败原因, 缴费金额, 保单
阅读全文
摘要:最近做信息采集,总是需要创建临时表,一同连接8个库同时开展。但是ORACLE里面没有像SQLSERVER那样的if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[HY_BSCDNM_J]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [dbo].[HY_BSCDNM_J]GOCREATE TABLE .......为避免总是要去点击SURE,所以参考了网上的方法,在创建临时表的时候,省去点击的麻烦。待采集脚本写
阅读全文
摘要:测试环境 sqlserver 2005工作需要,回家再转成oracle的--游标调用函数--1、建立基表create table planwork( planid int, empid int)insert into planwork values (1,100)insert into planwork values (2,200)insert into planwork values (3,300)insert into planwork values (4,400)insert into planwork values (5,500)insert into planwork values
阅读全文
摘要:ORACLE SQL语句优化技术分析一、问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。系统优化中一个很重要的方面就是SQL语句的优化。对于海量数据,劣质SQL语句和优质SQL语句之间的速度差别可以达到上百倍,可见对于一个系统不是简单地能实现其功能就可,而是要写出高质量的SQL语句,提高系统的可用性。 在多数情况下,Oracle使用索引来更快地遍历表,优化器主要根据定义的索引来提高性能。但是,如果
阅读全文
摘要:create table aa( a varchar(2), b int)insert aa values ('1',2)insert aa values ('2',3)insert aa values ('3',4)insert aa values ('4',5)create table bb( c varchar(2), d int)insert bb values ('1',3)insert bb values ('2',4)insert bb values ('3',5)in
阅读全文
摘要:一个表,两个字段,A、B,取出每个A类型的B由大到小排列的前两个。create table test_a( a varchar2(10), b int)truncate table test_a;insert into test_a values ('a',10);insert into test_a values ('a',1);insert into test_a values ('a',2);insert into test_a values ('a',3);insert into test_a values ('a
阅读全文
摘要:前言:之前在虚拟机里装了Solaris以及CentOS,还分别安装了ORACLE,由于分辨率的问题,屏幕太小,使用极度不方便。昨天拿了一台台式机{内存512,赛扬2.62}安装了三个多小时终于弄上去了,记下来以备不测{环境CentOS、Linux ORACLE 10g},并且希望能出一册关于ORACLE开发系列的基础教程,欢迎大家收藏。一、选择所要使用的虚拟机和操作系统、DBMS我这里统一一个平台为:VMware虚拟机、CentOS-5.5-i386 Linux、ORACLE 10201_database_linux32。关于虚拟机的安装不做解释,相信大家在WINDOWS下都会安装。二、安装.
阅读全文
摘要:记得之前领导安排比测数据,但是需要连接查询查询的几个表不在同一服务器上。所以我开始是这么干的:1.查询一台服务器的数据,并导入本地Excel,并拷贝到本机。2.查询另一台服务器的数据,并导入本地Excel,并拷贝到本机。3.Excle导入数据库,数据库自带了Excel导入数据库的功能。4.连接查询,OVER!后来才知道测试的数据,所以每个分局的数据我都要重复这样干一遍。这时才想起跨库查询了。1.开通分布式查询权限exec sp_configure 'show advanced options',1 reconfigure exec sp_configure 'Ad Ho
阅读全文
摘要:在企业应用中,经常会开发报表系统,而在报表中又经常用到行列转换,这里有一个经典的应用实例:原表: 姓名科目 成绩 张三语文80张三 数学 90 张三 物理 85 李四语文 85 李四物理 82 李四英语 90李四政治 70 王五英语 90转换后的表: 姓名数学 物理 英语 语文 政治李四082908570王五00900 0张三 90850 80 0实例:Declare @sql varchar(8000)Set @sql = 'Select Name as 姓名'Select @sql = @sql + ',sum(case Subject when ''
阅读全文
摘要:在实际应用中,往往能碰到分页的需求。虽然有不少组件可以实现面向对象的分页,但是都是利用了缓存。很多时候,这些方法是不可用的。原因很简单,在一个数据量非常大的应用中,缓存全部数据无论是对网络传输还是对内存都是不小的浪费。所以,还是回归自然吧,利用分页查询来获取当前页的数据为妙。A.MySQL数据库: SELECT *FROMtable_nameORDERBYcolumn_name LIMIT m,n 结果返回的是第m+1行到第n行的数据集。比如: SELECT * FROM table_name ORADER BY column_name LIMIT 1,5 返回的是第2行到第5行的数据集B.S
阅读全文

浙公网安备 33010602011771号