おせわになっております。
MySQLを愛用していますが、気になる疑問にぶつかりましたので、質問させてください。
★MySQLの4.1系のサブクエリは、性能が悪いのですか?
たとえば
select * from t1 where key in (
select key from t2 where key2 in (
select key2 from t3 where col = 1))
のようなことをしようとしたとき、ものすごく遅いことがあります。
あきらめて、クエリを分けて、小分けに実行すれば、速いです。
サブクエリなどを高速に実行させる方法などありますでしょうか?MySQL5では違うものなのでしょうか?
よろしくお願いします
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
サブクエリという方法に拘りますか?
キーがユニークならinner joinとかどうですか?
(キーがユニークでなくても、この結果の重複を取れば良いだけですが)
select tb1.*
from (
tb1
inner join tb2
on tb1.key=tb2.key
)
inner join tb3
on tb1.key=tb3.key
where tb3.col = 1
;
ちなみに、うちの環境だと複問い合わせがうまくいきませんでした。
何故でしょうか?バージョンが古いからかな?
version: 3.23.52-log
mysql> select item1 from tb1 where item1 in (select item1 from tb2);
ERROR 1064: You have an error in your SQL syntax near 'select item1 from tb2)' at line 1
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL 共通点はあります。何が違うのでしょうか? 1 2023/01/27 05:22
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- MySQL PhpMyAdminで作成して実行せよ。 東京23区を、皇居を中心とした4つのエリア(南東, 南西, 1 2023/06/11 11:58
- MySQL 何にかが違うから エラーなんでしょうね! 2 2022/09/18 05:28
- MySQL 下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 日本の全市区町村を人口密度が低 1 2023/06/18 19:51
- MySQL 下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「名前(first name) 1 2023/06/24 13:03
- MySQL SQLです。下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「昨年の各月の総降 1 2023/07/01 00:32
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
select文の実行結果に空白行を...
-
SQL文の入れ子について
-
時間帯テーブルから直近空き時...
-
割合(パーセント)を求めるには?
-
mysql5でGROUP BYごとにLIMIT??
-
SQLです教えてくださいお願いし...
-
SQLです下記の問合せを行うクエ...
-
SQLローダーCSV取込で、囲み文...
-
SQLです。下記の問合せを行うク...
-
単一グループのグループ関数で...
-
SQLで条件にヒットしたレコード...
-
テーブルの最後(最新)のレコー...
-
【PL/SQL】FROM区に変数を使う方法
-
SELECT FOR UPDATE で該当レコ...
-
group byの並び順を変えるだけ...
-
レコードの登録順がおかしい
-
テーブルのフィールドの一番長...
-
2つの列が同じ値の行を取得するSQL
-
トランザクションログを出力せ...
-
下記の問合せを行うクエリを、 ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
select文の実行結果に空白行を...
-
SQL文の入れ子について
-
割合(パーセント)を求めるには?
-
24時間以内に更新されたデータ...
-
Mysqlで変数を使ったSELECT文の...
-
時間帯テーブルから直近空き時...
-
集計されたテーブルの結合
-
php mysqlにて年月日で登録され...
-
SQLだけでselect結果に定数を加...
-
時間帯テーブルから直近空き時...
-
SQLにて順列の抽出
-
mysql5でGROUP BYごとにLIMIT??
-
LIMIT句で少なくとも1行は選択...
-
条件付けで集計したものをUNION...
-
SQLローダーCSV取込で、囲み文...
-
単一グループのグループ関数で...
-
テーブルの最後(最新)のレコー...
-
count関数の値をwhere句で使用...
-
【PL/SQL】FROM区に変数を使う方法
-
SELECT FOR UPDATE で該当レコ...
おすすめ情報