タグ

2021年6月10日のブックマーク (3件)

  • MySQL インデックスマージの謎 - Qiita

    最近運用しているシステムのINDEXチューニングをしています。 しかしながら、一度は大幅に改善したSQLが依然としてSlowQueryが出ていたので追跡調査した結果を共有してみます。 対象のSQLをそのまま貼ることはできないのですが、ざっくりいうと以下のようなSQL SELECT COUNT(*) AS `count` FROM items WHERE shop_id = N AND register_datetime BETWEEN 'S' AND 'S' AND status = N AND ((deleted_flg = 'S') OR (deleted_flg IS NULL)) このSQLはもともといくつか問題のあったものを改善した結果なので、一見実行計画もINDEXも問題ありません。 【前提1】MySQLに限らず、DBMSはどのINDEXを使うのが適切か自動的に最適化してくれる

    MySQL インデックスマージの謎 - Qiita
    hiroyukim
    hiroyukim 2021/06/10
  • MySQL 5.6での、マルチカラムインデックスとカラムごとのインデックスの比較 | Yakst

    MySQL Performance Blogの翻訳。複数のカラムを指定したマルチカラムインデックスを使うべきか、カラムごとに別々にインデックスを作るべきかは悩ましい問題だ。しかし、MySQL 5.6で導入されたIndex condition pushdownの仕組みを理解すれば、マルチカラムインデックスを効率的に使うことができるようになる。 インデックスに関する話をしている時によく出てくる質問と言えば…マルチカラムインデックスを使うべきか、カラムそれぞれにインデックスを張るべきか、ということだ。Peter Zaitevがこれについて2008年に書いていて、その時の結論としては、マルチカラムインデックスが多くの場合においてベストな解決策だ、というこだった。しかし、最近のオプティマイザの進化によって、MySQL 5.6では事情は違ってきてはいないだろうか? 準備 テストのため、以下のような2つ

    MySQL 5.6での、マルチカラムインデックスとカラムごとのインデックスの比較 | Yakst
    hiroyukim
    hiroyukim 2021/06/10
  • MySQL Index勉強会外部公開用

    12. © CROOZ,Inc. 12 1.INDEXとはなにか 何枚目がなにかを事前にメモっておけば良い! スート ランク 位置 ハート Q 1 スペード 9 2 : : : ダイヤ 1 40 : : : スペード 6 45 なぜなら、要求は「カードを引く回数を最も少なく してスペード6を探すこと」 セコいとかおもうヒトはいるか もしれませんが何もセコいこ はしていないです。 前提条件など一切ないから このメモさえあれば位置を指定して1回引けば済む

    MySQL Index勉強会外部公開用
    hiroyukim
    hiroyukim 2021/06/10