タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

mysql optimizeに関するbleu-bleutのブックマーク (6)

  • MySQL実行計画(EXPLAIN)の見方

    MySQL EXPLAINとは EXPLAINとは、MySQLがどのような実行計画でクエリ実行するかを表示するコマンド。EXPLAINの結果を見ることで効率の悪いクエリを見つけたり、改善結果を確認できる。 EXPLAIN ( SELECT f.film_id, f.title, f.release_year, a.first_name, a.last_name FROM film f INNER JOIN film_actor fa ON fa.film_id = f.film_id INNER JOIN actor a ON a.actor_id = fa.actor_id ); JOIN時のEXPLAINの見方 JOINする場合は、駆動表が一番最初に表示される。 先程の例だと、actorテーブルが駆動表になっているということになる。 駆動表を固定したい場合は、MySQL 8.0からはJ

    MySQL実行計画(EXPLAIN)の見方
  • MySQLのEXPLAINを徹底解説!!

    以前、MySQLを高速化する10の方法という投稿で「EXPLAINの見方についてはいずれ解説しようと思う」と書いてしまったので、今日はその公約?を果たそうと思う。 MySQLのチューニングで最も大切なのは、クエリとスキーマの最適化である。スキーマの設計は一度決めてしまうとそのテーブルを利用する全てのクエリに影響してしまうためなかなか変更することは出来ないが、クエリはそのクエリだけを書き直せば良いので変更の敷居は低い。そして遅いクエリをなくすことは、性能を大幅に向上させるための最も有効な手段である。従って、アプリケーションの性能を向上させたいなら、まず最初にクエリのチューニングを検討するべきなのである。 最適化するべきクエリはスロークエリログやクエリアナライザで見付けられるが、ではそのようなクエリが見つかった場合にはどのように最適化すればいいのか?そのためにはまず現在どのようにクエリが実行さ

    MySQLのEXPLAINを徹底解説!!
  • RDB - 実例で学ぶ、JOIN (NLJ) が遅くなる理屈と対処法 - Qiita

    "Nested Loop Joinしか取り上げて無いのにタイトルが大きすぎないか" と指摘を頂いたので、タイトルを修正しました。Merge JoinとHash Joinのことはまた今度書こうと思います。 「JOINは遅い」とよく言われます。特にRDBを使い始めて間がない内にそういう言説に触れた結果「JOIN=悪」という認識で固定化されてしまっている人も多いように感じています。 たしかに、JOINを含むようなSELECT文は、含まないものに比べて重たくなる傾向があることは事実です。また、質的に問い合わせたい内容が複雑で、対処することが難しいものも存在します。しかし、RDBの中で一体どういうことが起きているのかを知り、それに基いて対処すれば高速化できることも少なくないと考えています。 稿では、JOINの内部動作を解説した上で、Webサービスを作っているとよく出てくるJOIN SQLを例題に

    RDB - 実例で学ぶ、JOIN (NLJ) が遅くなる理屈と対処法 - Qiita
  • 漢(オトコ)のコンピュータ道: MySQLを高速化する10の方法

    ちょっとキャッチ−なタイトルをつけてしまったが、今日は独断と偏見でMySQLを高速化する方法を10個紹介しよう。MySQLサーバをチューニングするときや初期導入する場合などに参考にしてもらいたい。 1. バッファを増やす、または減らす チューニングの基中の基であるが、適切なバッファサイズを設定することはパフォーマンスチューニングの要である。主なバッファは次の通り。 innodb_buffer_pool_size・・・InnoDBだけを利用する場合は空きメモリの7〜8割程度を割り当てる最も重要なバッファである。余談だが、実際にはここで割り当てた値の5〜10%ぐらいを多めにメモリを使うので注意が必要だ。 key_buffer_size・・・MyISAMだけを利用する場合は、空きメモリの3割程度を割り当てるといい。残りはファイルシステムのキャッシュ用に残しておこう。 sort_buffer_

    漢(オトコ)のコンピュータ道: MySQLを高速化する10の方法
  • 【Mysql/Doctrine2】where句の記述順によるパフォーマンスの違い。

    Browse: Home » 【Mysql/Doctrine2】where句の記述順によるパフォーマンスの違い。 select時のそういった最適化は全てオプティマイザーが最適解を求めてくれているのかと思い込んでいたがどうやらそういうわけでもない模様。 下記に示す二つのDQLで大きくパフォーマンスが違う。 ■パターン1 select p from HogeFugaBundle:Post as p where p.body like :str and p.deletedAt is null and p.createdAt >= :date ■パターン2 select p from HogeFugaBundle:Post as p where p.createdAt >= :date and p.deletedAt is null and p.body like :str だいたいレコード25万

    【Mysql/Doctrine2】where句の記述順によるパフォーマンスの違い。
    bleu-bleut
    bleu-bleut 2018/03/25
    評価順は左から、必ずしもオプティマイザーが最適解を求めてくれるわけではない。
  • MySQLにおけるJOINのチューニングの定石

    EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

    MySQLにおけるJOINのチューニングの定石
  • 1