結合されるはずの 3 つのテーブルがあります。クエリは次のようになります。
select distinct a.job
from a
join b on a.job=b.id
join c on c.id =a.path
where c.path like '//depot/a/b/c/d/MARSR_CL286896_297899/%';
このクエリは常にタイムアウトします。ただし、パスの比較を他の条件に変更すると、クエリは完全に実行されます。たとえば、次のようになります。
select distinct a.job
from a
join b on a.job=b.id
join c on c.id =a.path
where c.path like '//depot/a/b/c/d/%';
パス パラメータの違いを考慮すると、数字とアンダースコアがステートメントを遅くする原因になるでしょうか? 「パス」フィールドのインデックスを作成しました
「説明」コマンドの結果
1 SIMPLE b index PRIMARY job 62 73580 Using index; Using temporary
1 SIMPLE a ref path,job job 8 b.id 153
1 SIMPLE c eq_ref PRIMARY,path PRIMARY 8 a.path 1 Using where