ORACLE开发
文章平均质量分 92
wingsless
我属于勤奋好学的人,有着很大的工作热情,喜欢在工作中寻找技术带给我的乐趣。
展开
-
一周以来遇到的问题和经验(oracle)
很久以前,在我还在X唐电信的时候,我被领导要求优化一段SQL。说真的那个时候我根本不知道SQL的优化为何物,但是百度google之后我发现所有的资料都写有这么一条:把选择性大的条件子句写在最后。因为oracle在执行的时候从底向顶执行。这句话我当时笃信不疑。可是后来我查到更多资料以及对SQL优化有了更深的理解之后,我发现那句话是RBO,而现在的oracle采取CBO。那么SQL到底是不是从下向上执原创 2012-02-18 22:18:21 · 933 阅读 · 1 评论 -
一周工作总结--一次SQL优化记录
今天收到一个同事的问题,有一段SQL跑了很久很久,根本没有结果,根据同事的反映,这个SQL一个月比一个月要慢。这是不被允许的事情,我们要做的就是对这个SQL进行一次优化。下面就是这次优化的记录。 首先说SQL: select t.month_id, t1.area_id, t1.local_id, count(distinc原创 2013-01-08 14:31:06 · 774 阅读 · 0 评论 -
一次优化记录
今天收到一个同事的求助,说有一个SQL跑了一个多小时没有结果。我看了看,这个SQL是这样的(隐藏了敏感信息): SELECT 电话号码, 列2, 列3, MAX(STARTTIME), FLAG FROM 表1 T1 WHERE FLAG = '0' AND 电话号码 NOT IN (SELECT 电话号码 FROM 表2 T2) GROUP BY 电话号码, 列2原创 2012-11-23 09:07:14 · 697 阅读 · 0 评论 -
一周以来工作总结--关于位图索引
我曾经迷茫于一个问题,为什么有的时候明明有索引,却无法提升效率。后来我在很多书上和论坛上看到,索引分为3种,默认的是B树索引,这个类型的索引在对付重复很多很多的列的时候并没有任何优势,比如性别列这个只有两个值(不排除会有第三值)的列。而这种重复度很高的列在我平时的生产系统中非常多,比如运营商的行政区列,西安市只有市区,户县,周至,蓝田等几个行政区,这种重复在百万级甚至千万级的表中属高重复的。那么这原创 2012-10-25 20:40:33 · 1056 阅读 · 0 评论 -
一周以来的工作总结--oracle分区的迁移
这周很平静,没有客户的纷纷扰扰。 前一阵子写了一些有关数据表的压缩的东西,我现在感觉把数据压缩了迁移走,或者直接迁移走也是一种不错的办法。 现在有这样一张表: CREATE TABLE TABLE_1 ( MONTH_ID VARCHAR2(10), AREA_ID VARCHAR2(10), SERI NUMBER原创 2012-10-17 21:52:59 · 1274 阅读 · 2 评论 -
一周以来工作总结--关于表的压缩
昨天写了一下关于Oracle表压缩的问题(http://www.cnblogs.com/wingsless/archive/2012/09/23/2699309.html),由于时间原因没有具体的实验,只是使用了网上的资料,但是这并不是我的风格,因为网上资料直接拿来转载的多,自己原创的少。所谓事必躬亲嘛,做个实验。 有两张表,一张压缩(TEST_1)一张不压缩(TEST)。原创 2012-09-24 22:33:25 · 737 阅读 · 0 评论 -
一周以来的工作总结
这周客户的问题非常多,总是说我的数据不对。于是我对数据梳理了以后发现以前认为是重复数据的,其实并不是,而是我忽略了一个维度。那么这样一来,我们的周详单表就会有500多万的数据。一个月按照4周计算,就要有2000万条数据。而我大概计算了一下,每一个周的分区要占用2G多的存储空间,要知道电信给我们的空间不过是500G左右,我们大家都在用,我一个人每周消耗2G,显然不合适。 这个时候有原创 2012-09-24 22:32:42 · 701 阅读 · 0 评论 -
再学学表的分区
前一阵子一直在研究着Oracle的表分区的相关知识。在数据量不断扩大的现在,分区技术是一种非常有效的提高效率的技术。 限于业务的原因,我以前每次建立分区表的时候都喜欢用日期进行分区,每天一个range分区。但是突然有一天我遇到了一个很讨厌的表,是一个对应关系表,只有产品和销售品的对应关系,这个样子的表是没有办法建立我最熟悉的range分区的,经过我查阅资料以后我发现hash分区是一原创 2012-09-28 19:34:13 · 777 阅读 · 0 评论 -
关于分区表的初探
以前我写了一篇博文,里面有一点关于分区表的论述(http://www.cnblogs.com/wingsless/archive/2012/02/04/2338292.html)。但是我发现我少写了一点,在你的查询条件和分区列没有太大关系的时候,分区表不会帮助你提高效率。 图1 图2 我是按照area_id分区的,图1的执行计划:原创 2012-09-27 22:18:50 · 584 阅读 · 0 评论 -
有关分区表的另一点
很久以前写了一个关于分区表的博文(http://www.cnblogs.com/wingsless/archive/2012/08/06/2625809.html),后来在实际的工作中发现,我们的存储过程中存在很多这样子的写法: CREATE OR REPLACE PROCEDURE P_TEST_PAR(V_DAY IN VARCHAR2)原创 2013-03-09 21:33:55 · 644 阅读 · 0 评论