SQL

0
推荐
2350
阅读

SQL优化一则:取消视图合并

视图合并作为一种常见的查询转换方式,一直在SQL优化上有很好的效果,但在减少待选集(包括块和行),保持高舍弃的思想下,我们会发现视图合并有时候并不那么合适,甚至起到反效果。以下是取消视图合并来给SQL进行优化的一则例子:原SQL语句:with z1 as ( select m.owc_week_number,      &...

发表了文章 • 2015-10-03 09:00 • 0 条评论

0
推荐
2537
阅读

将pentaho资料库迁移到oracle数据库

默认情况下是使用postgresql数据库作为pentaho的资料库。迁移步骤:将oracle JDBC相关驱动$Oracle_home/jdbc/lib下jar文件拷贝到..\tomcat\webapps\pentaho\WEB-INF\lib或..\tomcat\common\lib目录,供pentaho BI服务器访问oracle 数据库使用。另外也需要将oracle JDBC驱动拷贝到administration-console\jdbc目录,否则...

发表了文章 • 2015-10-03 08:44 • 0 条评论

0
推荐
2162
阅读

分析函数DENSE_RANK 和 RANK

在SQL中对表格数据排名时,常可以用到分析排名函数,但Oracle在排名上有两种不同的函数:dense_rank和rank。这两种函数在分析的用途上大同小异,主要区别在于对相同数据的排名。实际举例如下。列出示例数据:SQL> Select rownum id from dual connect by rownum<5   2  union all  &nb...

发表了文章 • 2015-10-03 08:39 • 0 条评论

0
推荐
2011
阅读

强制SQL在限定时间内返回结果

设计出发点:客户的流水线上会有N个工人,每个工人守在流水线的一个岔路上。这时要对每个工人的作业量进行平衡划分,就需要对每个工人的手工剩余工作量进行统计,然后把新的作业流向手头工作量少的工人手里。但假如统计的时间很长,流水线上的作业还没来得及分配岔口号,就会一直走到直线的岔口上,结果导致直线的岔口工...

发表了文章 • 2015-10-02 22:09 • 0 条评论

0
推荐
1880
阅读

一条SQL:补充缺失的最小ID

ITPUB上碰到一个问题,觉得有点意思,顺便就在博客把解决思路列了下来。原问题:面试遇到一条SQL题,查询被删除的ID大概意思是,有一张业务表,字段ID为关键字标识每一张业务单,ID数据类型为int,正常情况下,每增加一条记录,ID值增加1。当表中某些记录被删除后,ID就会存在断裂;如:表中原来10条记录,当2,4,6 被...

发表了文章 • 2015-10-02 22:07 • 0 条评论

0
推荐
2104
阅读

嵌套表的测试(二)

在上一次的测试中,通过加入嵌套表table(column_map)的查询,才能在查询中直接显示所有表格的字段数据。进过对执行计划的检查,发现一些其他信息如下:SQL> explain plan for   2   select c.rowid,   3          e.rowid,   4  &n...

发表了文章 • 2015-10-02 22:06 • 0 条评论

0
推荐
2127
阅读

嵌套表的测试(一)

近期在使用代码设计中涉及到了嵌套表的使用,使用过程中发现一次取数据,无法完全显示所有的字段内容。整个测试过程如下:建立测试表:–建立相关typecreate type mc$column_obj_type1 is object( column_source varchar2(30),               &nb...

发表了文章 • 2015-10-02 22:05 • 0 条评论

0
推荐
2296
阅读

Full Outer Join与left(Right) Outer Join的不同

测试步骤如下:1.创建测试表SQL> create table t 2 (a varchar2(10), 3 b varchar2(10));   Table created   SQL> SQL> create table s 2 (a varchar2(10), 3 b varchar2(10));   Table created  2.测试在left outer情况下,且外部表的有条件限制的执行计划SQL> explain plan for ...

发表了文章 • 2015-10-02 21:02 • 0 条评论

0
推荐
2314
阅读

wm_concat函数的排序问题

wm_concat在行转列的时候非常有用,但在行转列的过程中的排序问题常常难以控制。可见下面例子:准备测试表: drop table t; create table t (n number,m number); insert into t values(1,1); insert into t values(5,3); insert into t values(3,3); insert into t values(6,5); insert into t values(7,2); insert int...

发表了文章 • 2015-10-02 20:50 • 0 条评论

0
推荐
1863
阅读

SQL的外连接对内部表的限制

SQL在进行外连接操作时,where子句中不能对内部表的字段进行限制,否则外连接会失效。Oracle会将外连接直接转换为内连接。 测试步骤如下:1.创建测试表SQL> create table t   2  (a  varchar2(10),   3   b  varchar2(10));   Table created   SQL> SQL> cr...

发表了文章 • 2015-10-02 20:48 • 0 条评论