where句で"OR"を使いたい場合(index)
MySQLで"OR"を用いる時のインデックスがわからない。 結局、UNIONでがっちゃんこするしかなさそう。
mysql> SELECT COUNT(*) FROM table WHERE columnA = value1 OR columnB = value2; +----------+ | COUNT(*) | +----------+ | 1616 | +----------+ 1 row in set (9.92 sec) mysql> SELECT COUNT(*) FROM (SELECT * FROM table WHERE columnA = value1 UNION SELECT * FROM table WHERE columnB = value2) T; +----------+ | COUNT(*) | +----------+ | 1616 | +----------+ 1 row in set (0.17 sec)