2 つのテキスト フィールドを持つテーブルがあり、どちらも長さ = 4 のインデックスを持っています。
SELECT COUNT(*) cnt FROM `mytable` WHERE `field1` = ‘blue’;
4 つのレコードを表示し、
SELECT COUNT(*) cnt FROM `mytable` WHERE `field2` = ‘blue’;
別の 4 つのレコードを表示します (異なる結果)
しかし:
SELECT COUNT(*) cnt FROM `mytable` WHERE `field1` = ‘blue’ OR `field2` = ‘blue’;
5 つのレコードのみを表示します。どうして???
DESCRIBE SELECT
etc. (COUNT なし)を使用すると、次のように表示されます。
id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE mytable index_merge field1,field2 field1,field2 6,6 NULL 495 sort_union(field1,field2); の使用; where の使用
これはどのように可能ですか?8 つのレコードすべてを表示できないのはなぜですか?
(注: 本名はオランダ語なので、テーブル名を置き換えました)
さらにテーブル情報が必要な場合は、投稿します。
助けてください。