タグ サブクエリ
人気順 5 users 50 users 100 users 500 users 1000 usersサブクエリの書き方を2万文字弱かけてすべて解説する
これはなに ども、レバテック開発部のもりたです。 今回はSQLのサブクエリについてまとめます。仕事でクエリを書く際、サブクエリは頻出の構文だと思うんですが、同時にサブクエリの書き方を完全に理解しているよという人は案外少ないのではないでしょうか?[1] 実際、MySQLの公式ドキュメントを見ると12ページくらいを... 続きを読む
【SQL】ちょっとしたパフォーマンスチューニングまとめ - Qiita
SELECT table_a.id, table_a.name FROM table_a INNER JOIN table_b ON table_a.id = table_b.id; メリットとしては、 どちらかのテーブルのid列のインデックスを使用可能 サブクエリがないことで中間テーブルが作成されない しかし、インデックスがない場合はEXISTSの方が良い場合があります ソートの回避 SQLでは暗黙... 続きを読む
MySQL のサブクエリって、ほんとに遅いの? | Developers.IO
こんにちは、みかみです。 今日の クラスメソッドのAWSおみくじ 、RDS(t1.micro)でしたー!(昨日は Aurora!@@v はじめに 前職@アプリ開発時、MySQL のクエリチューニングをさせていただく機会がありました。 ユーザー入力のキーワードで全文検索 → 見つかったレコードを返すのですが、所要時間、約3分。。 Apache タイムアウトして画面真っ白。。。(泣きそうでした><。 ... 続きを読む
MySQL 5.7のoptimizer_switch、derived_mergeとは何ぞや - かみぽわーる
2015-12-08 MySQL 5.7のoptimizer_switch、derived_mergeとは何ぞや このエントリはMySQL Casual Advent Calendar 2015の8日目です。 MySQL 5.7.6からoptimizer_switchにderived_mergeが追加されデフォルトで有効になっている。基本的にこれはほっといたらだいたいサブクエリが速くなるやつなので... 続きを読む
日々の覚書: 現代のMySQLはもう不要にINをEXISTSに書き換えない
2015年6月19日金曜日 現代のMySQLはもう不要にINをEXISTSに書き換えない 漢(オトコ)のコンピュータ道: なぜMySQLのサブクエリは遅いのか。 この記事は 2009/3/25 に書かれたもののようである。 2009年3月といえばMySQL 5.1がGAになってわずか半年、MySQL 6.0.10-alphaがリリースされた頃で、MariaDBもまだ姿を見せていない頃だ。 時は流れ... 続きを読む
Oracle/MySQL/PostgreSQLにおけるサブクエリを含むDMLの非互換性 - SH2の日記
JPOUG Advent Calendar 2013の23日目です。比較的簡単なDMLでもRDBMS間の非互換性が出てしまうという怖い話をします。 +----+------+ | id | data | +----+------+ | 1 | a | | 2 | b | | 3 | c | +----+------+ BEGIN; -- IDが最も小さいレコードをロックする SELECT id, ... 続きを読む
漢(オトコ)のコンピュータ道: なぜMySQLのサブクエリは遅いのか。
2009-03-25 なぜMySQLのサブクエリは遅いのか。 よくMySQLはサブクエリが弱いと言われるが、これは本当だろうか?半分は本当で半分は嘘である。MySQLのサブクエリだってなんでもかんでも遅いわけではない。落とし穴をしっかり避け、使いどころを間違えなければサブクエリも高速に実行できるのである。今日はMySQLがどんな風にサブクエリを実行し、どのような場合に遅いのかということについて説明... 続きを読む