SQLの最適化を行いたいのですが

エンジニア質問箱

質問箱メニュー

検索

質問する

SQLの最適化を行いたいのですが

PapaRasさん
質問日時: 2019/06/18 07:05

SQLの最適化
こんなmysqlのSQL分があるのですが、スピードが遅くて困っています。
JOIN等使えば早くなりそうなのですが、当方SQLが経験不足でして、どうしても、うまくいきません。
どなたかご教授いただけますとありがたいです。
よろしくお願いいたします。

SELECT *, CONCAT(todohuken, shikuchoson, choiki, banchi) AS address FROM customers cm1 WHERE is_valid = '1' AND (cm1.id IN (SELECT
c1.id_customer
FROM constructions c1
WHERE (c1.order_confirm <> '3' OR c1.order_confirm IS NULL)
OR (c1.id IN (SELECT c2.id FROM constructions c2, estimates e WHERE c2.id = e.id_construction)
OR
c1.id IN (SELECT c3.id FROM constructions c3, directions d WHERE c3.id = d.id_construction)))
OR
(cm1.id IN (SELECT id_customer FROM purchases))
) AND cm1.customer_name COLLATE utf8_unicode_ci LIKE '%テスト%' LIMIT 100 OFFSET 0 )

キーワード

全て見る

この質問にキーワードを設定する

違反通報

この質問に回答する

並び替え:
▼最新順に表示
▲投稿順に表示
回答1
回答日時 : 2019/06/23 12:52

ほんわかさん

まずはINDEXをちゃんと張っているか確認とテーブル最適化
https://qiita.com/ykawasaki683/items/c03e235b167095f951cc

この回答が「なるほど」と思ったらクリック→

なるほど0人

違反通報

並び替え:
▼最新順に表示
▲投稿順に表示

関連するキーワードの製品を探す

この質問に回答する

この質問をブックマーク

最新の質問

パック米の自動開封気を探しています。
一般的なパック米です。コンビニで販売さている商品です。 連続処理を希望します。 投入は...
日本語が堪能な中国人で技術翻訳できる人を知りませんか。
以下のような方を探しているのですが、どのようなところにあたれば良いでしょうか?ご存知であればお...
油圧シリンダー、気温による変化ってありますか?
お世話になります。 帯のこ(ダイトーST4565)で鉄骨の切断を行っていますが、外気温が上が...

月間ユーザーランキング TOP10



質問箱メニュー

検索

質問する

あと2000文字入力できます。

入力欄を広げる

ページトップへ