mysql 两张大表关联_【PL/SQL】千万级大表关联如何优化

743cfe72f2a2d569edf20c3f0558de8d.png

看完这章你会学习到以下内容:
1. 将两个大表写进来两张临时表(创建临时表 - 会话与实务)
2. 循环查询更快的速度


某些情况下需要 多个非常大的表关联的情况下, 但是需要检索的, 是少量的数据的时候.可以先把大表数据,检索出那一小部分, 然后插入到临时表中, 最后再关联处理.

例如:

某百货公司的数据库.
里面有下面这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个小表关联处理,查询起来,速度快一些。


文章来源:
oracle中临时表是用来做什么的_百度知道
MySQL 两张千万级数据表联查如何优化?

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值