楼主:
dspswen (阿天)
2014-04-02 15:34:29(针对 SQL 语言的问题,用这个标题。请用 Ctrl+Y 砍掉这行)
数据库名称: MYSQL
数据库版本:5.1
内容/问题描述:
我有两个 TABLE
A 捞出来可能是比较小的资料,但是其中 A 的字段中有个会员 ID
那我又需要列出的资料表中含有会员的几项详细资料(会员数百万笔)
会员的详细资料是在 B 资料表,如果下了 JOIN 会挂掉 ... (查询数量变A*B的感觉)
请问这样的情形该怎么下才比较好呢
感谢
作者: misssomeone (风舞月光) 2014-04-02 16:40:00
你是用哪种JOIN?
作者:
bohei (run and fall)
2014-04-02 18:10:00查询的次数是多次还是只会有一次查询?如果有多次,可以先用一个TEMP把会用到的会员资料暂存起来之后就只需要对这TEMP做JOIN即可
作者:
ImOnLine (So be it)
2014-04-02 22:06:00请问楼上temp怎么下呢?还是要create new table呢?
楼主:
dspswen (阿天)
2014-04-02 22:57:00了解,我各种 JOIN 都有试看看,但是都跑不动
作者:
bohei (run and fall)
2014-04-03 12:17:00我是使用Oracle,语法不尽相同,但我刚刚google mysql + temp找得到教学的文章~ 剩下的就靠自己吧XD对了..这两个资料表有建Index吗?数百万笔虽然很多,但也没那么多... 如有正确Join且利用Index应该不至于挂掉勒..
作者:
popcorny (毕业了..@@")
2014-04-03 13:32:00join B的字段要有建立index,有建应该会很快
作者:
bbcust (bbcust)
2014-04-03 13:54:00应该是index问题 以前也有做过好几个百万笔一起join单纯select也没几秒不过是MSSQL 当时影响效能的主要还是index