次のクエリのパフォーマンスを向上させるにはどうすればよいですか?どのようなインデックスを使用する必要がありますか?MySQLを使用しています
SELECT b.title
FROM book b, person p, order o
WHERE b.bid = o.bid
AND o.pid = p.pid
AND b.title LIKE 'LOVE%';
次のクエリのパフォーマンスを向上させるにはどうすればよいですか?どのようなインデックスを使用する必要がありますか?MySQLを使用しています
SELECT b.title
FROM book b, person p, order o
WHERE b.bid = o.bid
AND o.pid = p.pid
AND b.title LIKE 'LOVE%';
MySQL がインデックスを使用する方法を確認する必要があります。
あなたのクエリの場合:
b.bid
、o.bid
、o.pid
およびのインデックスは、p.pid
テーブルの結合に使用されるため、特にお勧めします。外部キーの使用を検討することもできます。b.title
where句でこれを使用しているため、 のインデックスも検討します。ただし、変更がクエリにどのように影響するかを知りたい場合は、変更ごとにプロファイリングして、パフォーマンスにどのように影響したかを確認する必要があります。
ただし、クエリについて詳しく説明してください。テーブルorder
および と結合していますperson
が、これらのテーブルから選択することも、where 句でこれらを使用することもありません。注文された本を選択するためにこれを行っているだけですか?その場合、なぜ参加するのperson
ですか?