0
我有這個問題;我有兩張桌子,一張叫做tableA,另一張叫做tableB。由於多個日期字段導致的MySQL性能問題
兩個表之間有一個關係1:n,並且在兩個表中都有日期字段;讓我用一個例子
TableA id|dateA|others TableB id|id_tablea|dateb1|sold|dateb2
這些表之間的連接是微不足道的,我的問題是,當我按日期篩選解釋;如要求,我必須使用d
1)dateb2當且僅當出售= 1(如果在表B記錄存在) 2)否則dateb1(如果在表B記錄存在) 3)datea1
這是查詢的一個例子:
SELECT * FROM tableA ta LEFT JOIN tableB tb on ta.id = tb.id_tablea WHERE ( if(tb.sold=1,tb.dateb2,(IFNULL(tb.dateb1,ta.datea1)) ) BETWEEN 'INT1' AND 'INT2' AND > ...
我的問題是,這兩個表是非常大的,查詢需要很長的時間;我怎樣才能優化這個查詢?任何想法?
在此先感謝
請檢查右側欄中列出的類似問題。你會看到人們採取的方法,從提供足夠的信息到優化是什麼。我們無法對您的查詢做任何事情,也不知道您要返回多少信息,您的條款中的「非常大」意味着什麼(我們有IT中的數字,我們可以用它來表達數量級別)以及MySQL在後面執行的操作場景+你的服務器的配置是什麼。 – Mjh