おせわになっております。
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ローダーCSV取込で、囲み文...
-
where句中のtrim関数について
-
count関数の値をwhere句で使用...
-
単一グループのグループ関数で...
-
ソート(PL/SQL)
-
AccessのSQL文で1件のみヒット...
-
複数のテーブルから値を合計出...
-
SQLデータベースの処理
-
テーブルの最後(最新)のレコー...
-
2回実行のSQL文を1回にしたい
-
ファイルの漢数字の順番につい...
-
都道府県順、北からソートした...
-
【PL/SQL】FROM区に変数を使う方法
-
SQL文 複数実行
-
VBScriptにて、csvファイルから...
-
SQL*Loader Append
-
レコードの登録順がおかしい
-
SQL 重複しないJoinの仕方を教...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
select文の実行結果に空白行を...
-
割合(パーセント)を求めるには?
-
SQL文の入れ子について
-
24時間以内に更新されたデータ...
-
時間帯テーブルから直近空き時...
-
空きのID番号を取得する方法
-
LIMIT句で少なくとも1行は選択...
-
Mysqlで変数を使ったSELECT文の...
-
SQLだけでselect結果に定数を加...
-
SQLにて順列の抽出
-
任意の上位の集計を取得するには?
-
条件付けで集計したものをUNION...
-
mysql5でGROUP BYごとにLIMIT??
-
3テーブルの外部結合
-
MySQLのサブクエリ
-
時間帯テーブルから直近空き時...
-
SQLで連続したカラムが何個ある...
-
SQLローダーCSV取込で、囲み文...
-
単一グループのグループ関数で...
-
テーブルの最後(最新)のレコー...
おすすめ情報