tom_tom_tom_xiang
2017-08-24 01:38
采纳率: 100%
浏览 3.9k
已采纳

Db2大数据量的表查询优化

有两张表

A表有两个字段(id,name),至少有10位数的数据。
B表有一个字段(id),大约只有5000条的数据。
想要的结果为:
select b.id,a.name from B b,A a where a.id = b.id;
查询的过程很慢。

希望可以得到大家的指点,谢谢大家了!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 果丶果 2017-08-24 02:20
    已采纳

    交叉连接由于其返回的结果为被连接的两个数据表的乘积,因此当有WHERE, ON或USING条件的时候一般不建议使用,因为当数据表项目太多的时候,会非常慢。一般使用LEFT [OUTER] JOIN或者RIGHT [OUTER] JOIN

    点赞 打赏 评论
  • blownewbee 2017-08-24 02:00

    不能这么连接,这样是笛卡尔积,运算量当然大,应该用join,而且应该对两个表的id做索引。

    点赞 打赏 评论

相关推荐 更多相似问题