だから私はこのクエリを持っています:
EXPLAIN SELECT SQL_CALC_FOUND_ROWS
u.userid,
u.firstname,
u.lastname,
u.job_title,
u.email,
u.org_id
FROM piltools.users u
WHERE
u.org_id = 'VX3'
AND (
u.firstname LIKE 'Chris%'
OR u.lastname LIKE 'Chris%'
OR CONCAT(u.firstname, ' ', u.lastname) LIKE 'Chris%'
OR u.email LIKE 'Chris%'
)
AND u.firstname !=''
AND u.lastname !=''
AND u.deleted = '0'
各列には個別にインデックスがあり、特にこのクエリ用に deleted,org_id,lastname,firstname,job_title,email,userid の CUSTOM インデックスを作成しましたが、explain を実行すると、次のように表示されます。
ID 1
select_type SIMPLE
テーブルU
タイプ参照
possible_keys電子メール、名、姓、org_id、削除済み、CUSTOM
キーorg_id
key_len 17
参照定数
行113967
追加の where の使用
必要なすべてのフィールドを持つ CUSTOM インデックスではなく、個々の org_id インデックスを使用しているのはなぜですか?