酷!學園

技術討論區 => database 討論版 => 主題作者是: HaWay 於 2015-08-05 10:04

主題: 不等於的 SQL 優化
作者: HaWay2015-08-05 10:04
請問一下我有三個欄位 A, B, C

假設我要找出 B 不等於 C 的, 用如下 SQL : select * from table where B <> C, 效率上應是比較低?

是否有建議的 Schema 設計方式或是優化的 SQL 語法?

謝謝
主題: Re: 不等於的 SQL 優化
作者: asako2015-08-08 05:41
方式一:先建 一個  multi-column index b 跟 c 。然後 explain 一下 query 看有無用到index。
方式二:各建一個 index b 跟 c 把 query 改成(MYSQL 語法)
select a.* from table a left join table b on a.b=b.c where b.c is null
union all
select a.* from table a left join table b on a.c=b.b where b.b is null


主題: Re: 不等於的 SQL 優化
作者: HaWay2015-08-10 14:38
感謝,  ;D

我找時間試試.