zoukankan      html  css  js  c++  java
  • oracle中临时表是用来做什么的

    oracle中临时表是用来做什么的

    某些情况下, 需要 多个非常大的表关联的情况下,  但是需要检索的, 是少量的数据的时候.
    可以先把 大表的数据, 检索出那一小部分, 然后插入到 临时表中, 最后再关联处理.
    例如:
    某百货公司的数据库.
    里面有下面这2张 没有分区的表
    销售表: 销售日期, 销售流水号, 销售金额
    销售明细表: 销售流水号, 销售物品, 销售数量

    当上面的表里面,包含几年的数据以后。
    假如你要查询 昨天的销售合计。 很简单
    SELECT * FROM 销售表 WHERE 销售日期 = 昨天。

    但是当你要查询 昨天的销售的, 某种商品的 销售情况的时候。 就要
    SELECT
    ......
    FROM
    销售表 JOIN 销售明细表
    ON (销售表.销售流水号 = 销售明细表.销售流水号)
    WHERE
    销售表.销售日期 = 昨天
    AND 销售明细表.销售物品 =某物品

    这种情况下,由于2个大表关联,查询时间非常的长。

    可以通过临时表。

    INSERT INTO 临时表1
    SELECT * FROM 销售表 WHERE 销售日期 = 昨天

    然后再
    INSERT INTO 临时表2
    SELECT * FROM 销售明细表 WHERE 销售流水号 IN (SELECT 销售流水号 FROM 临时表1)

    最后
    SELECT
    ......
    FROM
    临时表1 JOIN 临时表2
    ON (临时表1.销售流水号 = 临时表2.销售流水号)

    这样就是 2个小表关联处理,查询起来,速度快一些。
  • 相关阅读:
    PCLVisualizer可视化类(4)
    PCLVisualizer可视化类(3)
    PCLVisualizer可视化类(2)
    PCLVisualizer可视化类(1)
    怎样可视化深度图像
    如何从深度图像中提取边界
    如何从点云创建深度图像
    Codeforces Round #235 (Div. 2) C. Team
    next_permutation函数
    安慰奶牛 蓝桥杯
  • 原文地址:https://www.cnblogs.com/GotoJava/p/6226384.html
Copyright © 2011-2022 走看看