作者asio1 (牛奶)
看板Database
标题Re: [SQL ] 找交集
时间Sat May 26 17:54:33 2007
其实我是在做dataming的作业,在寻找资料的特性
所以资料库才会这样大
可以请你解释一下做法吗 我用的是mySQL 的环境
因为其实table_1 与table_2 都是两个query出的结果,所以是没有index的
但是各别执行都花不到一秒 但是做卡氏积就太大了
※ 引述《flakchen (flak)》之铭言:
: 以MS-SQL而言,这种「只在乎曾经拥有,不需要一起显示」的问题
: 用in或exists会比join有效率
: 会爆炸可能是没有建index,对COL1建index会好很多
: 但资料多到一定地步,硬体资源又不够的话.....该爆炸的还是会爆炸
: ※ 引述《asio1 (牛奶)》之铭言:
: : TABLE_1 TABLE_2
: : COL1 COL1
: : A A
: : B D
: : C E
: : D G
: : E H
: : F J
: : G L
: : 两个个别TABLE_1.COL1还有 TABLE_2.COL1的值都不会重复出现
: : 问题是这样的
: : 就是找出 TABLE_1.COL1 = TABLE_2.COL1 有多少个
: : 所以应该下
: : SELECT COUNT(*) FROM TABLE_1,TABLE_2 WHERE TABLE_1.COL1=TABLE_2.COL1
: : 但是呢问题就是各有20万ROW 两个作卡式积 马上就爆炸了
: : 不知道有没有其他的写法
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.123.146.140
※ 编辑: asio1 来自: 122.123.146.140 (05/26 17:56)