上一页 1 ··· 3 4 5 6 7 8 下一页
摘要: 近来在工作上遇到一件事情。我有一张用户订单表,这个订单表有一个order_id,是唯一约束。同时有一张订单流程表,和订单表以ser_id关联,一个ser_id至少对应一条订单流程记录。现在我要将两个表汇总,成为一张表,以ser_id为唯一约束,其中一个字段来自流程表,这个字段是ser_id对应的几条 阅读全文
posted @ 2012-02-12 01:55 wingsless 阅读(17634) 评论(0) 推荐(3) 编辑
摘要: 上周我写了一篇博文,里面有一点关于分区表的论述(http://www.cnblogs.com/wingsless/archive/2012/02/04/2338292.html)。但是我发现我少写了一点,在你的查询条件和分区列没有太大关系的时候,分区表不会帮助你提高效率。 图1 图2 我是按照are 阅读全文
posted @ 2012-02-11 21:42 wingsless 阅读(2157) 评论(2) 推荐(1) 编辑
摘要: 在之前的工作中,我曾经遇到过表特别大的情况,这个时候我想到了使用with来降低查询的消耗,前文中已经有了描述:http://www.cnblogs.com/wingsless/archive/2012/01/15/2323060.html。今天我突然想到,其实用with和from (select)应 阅读全文
posted @ 2012-02-04 21:24 wingsless 阅读(3736) 评论(2) 推荐(1) 编辑
摘要: 有的时候会遇到这样的问题,我们需要查询一张表,而且要按照业务排序,比如我需要如下的结果: 地区 日期 费用 产品编号 用户编号 290 201202 258 1 s1 290 201202 200 1 s5 290 201202 100 1 s100 290 201202 90 2 s7 290 2 阅读全文
posted @ 2012-02-04 20:41 wingsless 阅读(58855) 评论(0) 推荐(2) 编辑
摘要: 前两天的业务需求里需要关联好几张表出一个详单报表,这个需求其实很简单,但是数据量大,源表又不是分区表,就变得很头疼了。 最初我的代码大概是这样子的: select a.id,a.name,a.code,b.type,( select p_name from C c where c.pid = b.p 阅读全文
posted @ 2012-01-15 20:59 wingsless 阅读(4636) 评论(13) 推荐(3) 编辑
摘要: 今天遇到了一个问题,需要对比一个字段和5的大小,大于5的输出0,小于五的输出1。如果是用PLSQL编程的话可以用if/else这种逻辑进行判断,但是在SQL里可不能这么写,经过网友推荐,我组合使用了sign和decode,效果很好,代码小清新。 代码如下: DECODE(SIGN(TRUNC(COL 阅读全文
posted @ 2012-01-08 00:09 wingsless 阅读(1614) 评论(0) 推荐(1) 编辑
摘要: 今天群里有人问关于数据库进程的事情,当然,他对oracle的后台进程不是很熟悉。当时我举了个例子,是关于LGWR,但是由于我学艺不精,当时只想起来了这个进程会被commit激发,实在是贻笑大方。回来以后查了一下书,于是记录在此,也算是和大家的分享吧。 LGWR被触发的情况: 1 commit。在提交 阅读全文
posted @ 2011-12-28 21:37 wingsless 阅读(1063) 评论(0) 推荐(2) 编辑
摘要: 安装oracle时还需要修改的几个文件和参数: /etc/security/limits.conf nproc:可以开启的进程数量 nofile:可以开启的文件数量 /etc/pam.d/login,改成这样: #Add for Install Oracle Database 11g session 阅读全文
posted @ 2011-12-24 23:32 wingsless 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 有这么一道题,是关于在实例启动的时候,哪些文件在某个阶段是不是可以改动的,我觉得这个题是一个很基础的题,对于理解oracle有很大的帮助。于是我就查了一下相关资料,分享一下,适合初学者看。 1 shutdown-->nomount: 读取参数文件,根据参数文件的记录,配置SGA,启动后台进程。这个阶 阅读全文
posted @ 2011-12-24 22:50 wingsless 阅读(241) 评论(0) 推荐(1) 编辑
摘要: 字典管理: 字典管理使用数据字典中的两个表:FET$(可用扩展区块)和UET$(使用中的扩展区块)。 每当新建一个段或者当前段需要增加空间时,字典管理的步骤如下: 1 搜索FET$,确定是否有可用的扩展区块 2 修改FET$中的相关记录。有则delete,没有,如果能找到一块更大的,就update。 阅读全文
posted @ 2011-12-18 17:44 wingsless 阅读(400) 评论(0) 推荐(0) 编辑
摘要: 1 create database link dblink_TEST 2 connect to wings identified by wings 3 using '(DESCRIPTION = 4 (ADDRESS_LIST = 5 (ADDRESS = (PROTOCOL = TCP)(HOST 阅读全文
posted @ 2011-12-18 12:57 wingsless 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 控制文件是非常重要的文件,实例读取控制文件才能到mount状态。DBA的一个原则就是多路控制文件,今天我就做了个实验,学习了一下这个。 代码如下: alter system set control_files='D:\app\wings\oradata\testdb\CONTROL03.CTL',' 阅读全文
posted @ 2011-12-13 23:15 wingsless 阅读(1305) 评论(1) 推荐(1) 编辑
摘要: 服务器接收到SQL语句之后,要经过如下步骤完成操作:Parse(解析)—> Bind(绑定)—> Execute(执行)。 画个流程图比较明显的表示了这些过程: 下面说明执行的具体细节: 1 Select(查询) 2 INSERT/DELETE/UPDATE 这些都是对数据进行修改的语句,画个流程图 阅读全文
posted @ 2011-12-13 20:08 wingsless 阅读(379) 评论(0) 推荐(1) 编辑
摘要: 1 关于undo 数据库可以有一个以上的undo表空间; undo段可以自动增长,按需shrink 2 关于Oracle Data Dump export和import import操作同时可以更改表名; 可以在export操作期间重写一个存在的dumpfile。 3 关于无效索引 会被优化器忽略; 阅读全文
posted @ 2011-12-12 22:21 wingsless 阅读(553) 评论(0) 推荐(1) 编辑
摘要: 学习一下这个有意思的东西。 绑定变量能够有效的降低硬解析。这里需要查询几个视图:v$mystat,v$statname,v$sqlarea。 先查一下现在系统存在的解析数: select name, value from v$mystat a, v$statname b where a.STATIS 阅读全文
posted @ 2011-12-11 23:19 wingsless 阅读(1606) 评论(0) 推荐(2) 编辑
上一页 1 ··· 3 4 5 6 7 8 下一页