[请益] 多资料表条件筛选的建立技巧

楼主: jami520 (我的生命因你而发光)   2014-03-23 08:49:11
像下面这财经网站,里面表列许多条件可供筛选
( http://www.wantgoo.com/hottipsearch.aspx )
我想问的是这些条件分散在其他资料表当中,是根据勾选的项目来做集合动作吗?(ex1)
还是先把全部资料联集载出,再根据不同条件去做where筛选呢?例如ex2
(((ex1)))
单纯A条件
SELECT A.data1 FROM (SELECT data1 FROM A1) A where A条件
除了A条件之外,再勾选B条件
SELECT A.data1 FROM (SELECT data1 FROM A1) A
LEFT JOIN (SELECT FROM B1) B where A条件 and B条件
((( ex2 )))
但这样效能是否会相对不好?
SELECT A.data1 FROM (SELECT data1 FROM A1) A
LEFT JOIN (SELECT FROM B1) B
LEFT JOIN (SELECT FROM C1) C ..........where A条件 and B条件.....
作者: MOONRAKER (㊣牛鹤鳗毛人)   2014-03-24 19:04:00
看不出来这两个范例有什么差别?
楼主: jami520 (我的生命因你而发光)   2014-03-25 05:31:00
一个是根据勾选的条件再加入LEFT JOIN,另一个是把全部条件都预先LEFT JOIN起来,后续才跟对勾选的条件做where只是想说效能上面应该会有很大的影响,不晓得一般都是怎样来制作这样多条件的筛选方法才会达到快速有效率的查询呢?
作者: MOONRAKER (㊣牛鹤鳗毛人)   2014-03-25 12:11:00
阿就试啊 很慢就拆啊 EXPLAIN阿某表如果只有某些条件用到 那当然是必要时再join就好了

Links booklink

Contact Us: admin [ a t ] ucptt.com