在做统计分析时数据库中的表以行的形式存储,但经常会以列的形式呈现给用户。我最近做过两个功能都是这样的需求。 涉及到行转列的时候方式一般无外乎以下几种方式: 1.通过编程程序(java,pas,c#)进行遍历,形成集合。 2.如果是oracle,可以通过pl/sql,写cursor进行遍历。 3.如果是oracle,通过聚合函数。 4.如果是oracle,通过分析函数。 我遇到这样的情况经常使用3,4两种方式.我举例来说明: 数据库表example BSC    LOGTIME       ...
今天是5.1,发现数据库变慢,查看数据采集的日志,发现是计算GSM和GPRS指标合并表时的一个存储过程在执行时花费大约10分钟,以前碰到过这种事情,当时花了好长时间。最后将表rebuild速度恢复正常,本次也尝试将相关操作的表进行rebuild,效率恢复正常,oracle表大量存在insert和delete操作,会产生大量的碎片,要清理掉表的碎片,可以将表的数据备份出去,然后新建表,再将数据导入。当然这样做的话如果存在约束的话,会存在问题。oracle的rebuild充分考虑到这些。我们可以通过toad生成rebuild语句。然后执行。最后又在网上查询了一些资料。发现如下有用的知识点。 ...
lengyue
搜索本博客
最近加入圈子
存档
最新评论