SpaceX’s massive Starship rocket could take to the skies for the fourth time on June 5, with the primary objective of evaluating the second stage’s reusable heat shield as the…
![TechCrunch | Startup and Technology News](https://cdn-ak-scissors.b.st-hatena.com/image/square/92584d6251feb0822f349cf0211361b2833c9939/height=288;version=1;width=512/https%3A%2F%2Ftechcrunch.com%2Fwp-content%2Fuploads%2F2018%2F04%2Ftc-logo-2018-square-reverse2x.png)
MySQLMySQLの複合インデックスについて。MySQLを使いこなしている人には常識の範疇にはいる知識だと思うのですが、かつての私のように、知らないとドツボにはまるので、ここにまとめておきます。タイトルでどういう内容か、もしかしたら大体、想像がつくかなと思うのですが、MySQLは1つのクエリーで1つのテーブルに対し、1つのインデックスしか機能しないということです。ようするに、あるテーブルに対して、普通に大量のインデックスを張ってもあまり意味がありません。そこで、今回は、最適な複合インデックスはどのようにしてはることができるか考えていこうじゃないか、という趣旨で書いていきたいと思います。まずは分析。テスト環境でインデックスが使われていないSQLを集めるまずは、/etc/my.cnfのパラメータを以下のように設定し、インデックスが使われていないSQLをスロークエリーに吐き出します。 slow
“降順(DESC)の インデックス だけどfilesortを出したくないとき 上記の SQL 、実際に数万件以上のデータで試してみればわかりますが、EXPLAINで分析すると、using filesortがでます。 これは実は簡単な話で、実際には インデックス にDESCを指定しても、無視して ASC で インデックス を作成しているからです。本来であれば、並べ替えにも インデックス が使われるはずが、 インデックス の並び順が ASC なので、各 レコード のデータを読み込んで ソート します。この時に、一時ファイルを使って ソート を行っているのですが、これがusing filesortの正体です。 つまり、using filesortが出ているということは ソート に インデックス が使われていないことを意味します。 しかし、 SNS における日記や伝言板、ミニメールなど、扱うデータ
自分のプログラミング脳をプログラムにして、いつかプログラミングから脱出してやるぞっ!とか夢見ながら、日々プログラム作っていく 百野 貴博 の日記です!今は、屋号『百蔵。』として、Silverlight・WPFを追跡中です! (2007/09/30) 追記 2010-08-12 今回のエントリですが、「漢のコンピューター道 - Using filesort」で既に解説されていました・・・。 しかも、「漢のコンピューター道」さんの方が分かりやすいっ うわぁぁぁん。゜(゚´Д`゚)ノ ---- 帰宅してからBlog書こうと思っていたら、さっそく帰宅後の仕事でハマってしまってBlogが中断してしまいました、、、 いけませんね! というわけで、日中の仕事の中でもBlogのネタを溜めるようにして頑張ります! さて、今日はMySQLのチューニングネタです! mysql のSQLをチューニングしていて、E
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く