並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 18 件 / 18件

新着順 人気順

sql using filesortの検索結果1 - 18 件 / 18件

  • MySQLのSQLクエリチューニングの要所を掴む勉強会を開催しました! - ANDPAD Tech Blog

    こんにちは!DBREの福間(fkm_y)です。先月、弊社でデータベースの技術顧問をして頂いてる三谷(mita2)さんに開発本部向けの「MySQL SQLチューニング」勉強会を実施していただきました。 今回はMySQLの得意不得意なことの説明やSQLチューニングの流れ、具体的な事例を元にした対応例、また最近話題のHTAPな製品も紹介していただきとても参考になったのでポイントをおさえてレポートをお伝えします! 開催背景 本編 MySQL の得意なこと、苦手なこと データベースのチューニング手段と特徴 SQLチューニングの流れ インデックス SQLチューニング例 インデックスフルスキャンとカバーリングインデックス ソート まとめ 当日の資料 さいごに 過去開催されたデータベース勉強会レポート 開催背景 弊社では三谷さんによるデータベース勉強会を定期的に開催しています。数年前にも同じテーマで勉強会

      MySQLのSQLクエリチューニングの要所を掴む勉強会を開催しました! - ANDPAD Tech Blog
    • MySQLとOracleの実行計画を比較してみた - ASMのきもち

      まいえすきゅーえりたい ぽすぐれない おらくるってる(狂ってる)tomoです。 今日はいつものMySQLリファレンスを読むではなく、夏休みの宿題にしていたこれをやってみます。 MySQLとOracleDBの実行計画を比較してみた さて同じようなテーブルで同じデータを載せて。 実行計画を取ってみた時、どのくらい情報量が違うのか簡単に違いを見てみましょう。 前提として、以下をご認識ください。 一方はOSSのDBエンジン、もう一方はガチガチ商用DBエンジンです。情報量が違うのは当たり前であって、良し悪しを比較したいのではありません。そして製品比較をしたいのではありません。いつも商用DBメインで使っているエンジニアが、OSSのDBにこうゆう情報も出してほしいな!というのをお願いしたいと思っていて、それを考える元ネタメモだと思ってください。 OSSでこれだけの情報出せるMySQLや、今回紹介しません

        MySQLとOracleの実行計画を比較してみた - ASMのきもち
      • ISUCON11 予選問題実践攻略法 : ISUCON公式Blog

        DB は以下のコマンドで確認できる通り、MariaDB 10.3 でした。$ mysqld --version mysqld Ver 10.3.31-MariaDB-0ubuntu0.20.04.1 for debian-linux-gnu on x86_64 (Ubuntu 20.04) 当日マニュアルに記載の通り、各言語実装は systemd で管理されているため、systemd に関する知識があると良いと思います。特に、アプリケーションを編集しビルドした後、 systemctl restart isucondition.go.service を実行しないと編集が反映されないことに注意しましょう。 他にも例えば、isucondition がどのように環境変数を読み込んでいるかを調べるには以下のような手順で行えます。 当日マニュアルの参考実装の項目を読み、サービス名が isucondit

          ISUCON11 予選問題実践攻略法 : ISUCON公式Blog
        • 最近のMySQL 8.0 の内部一時テーブルの改善について | スマートスタイル TECH BLOG

          MySQL では sort_buffer_size 以上にソート領域が必要になった場合、もしくは一部の条件に当てはまるSQLについては、内部一時テーブルを作成し処理を行うという仕組みになっています。 8.4.4 MySQL での内部一時テーブルの使用 この内部一時テーブルの仕組みに MySQL 8.0 から TempTable ストレージエンジンを利用する事ができるようになりました。 TempTable ストレージエンジンの挙動については、過去の弊社ブログ記事で説明しています。 TempTable ストレージエンジンについて TempTable ストレージエンジンはMySQL 8.0で導入されたということもあり、初期パッチバージョンに比べて改善が行われています。 今回の記事では、TempTableストレージエンジンの最近追加された機能についてご紹介します。 基本的なソートバッファと内部一時

            最近のMySQL 8.0 の内部一時テーブルの改善について | スマートスタイル TECH BLOG
          • MySQL実行計画の簡易検査ツールの開発とCIへの組み込み - ZOZO TECH BLOG

            こんにちは、ECプラットフォーム部の権守です。普段はID基盤やAPI Gatewayの開発を行い、ZOZOTOWNのリプレイスに携わっています。 本記事では、ID基盤で開発・導入したMySQL実行計画の簡易検査を行うツールを紹介します。 ツール開発の経緯 RDBにおけるテーブル設計は利用するクエリに応じて適切なインデックスを設定するなど専門的な知識を必要とし、設計できる人が限られてきます。しかし、アプリケーション上で利用されるクエリは機能の追加・改修に伴って日々変化していくため、それら全てに目を通し、漏れなく適切な設計することは困難です。そこで、専門的な知識がなくても設計に問題がないかの簡易的な検査を行えるツールを開発し、CIに組み込むことで自動的に問題を検出できるようにしました。 ツール開発のアプローチ ID基盤ではDBMSとしてAmazon Aurora MySQLを使用しています。そ

              MySQL実行計画の簡易検査ツールの開発とCIへの組み込み - ZOZO TECH BLOG
            • インデックスの"正解"を探せ!決済レスポンスタイムを改善したパフォーマンスチューニング - inSmartBank

              はじめに サーバーサイドエンジニアの kurisu(ryomak) です。 普段は、カード決済やあとばらいチャージに関連する機能の開発・運用を行っております。 本記事でお話しすること 本記事では、インデックス追加によって決済レスポンスタイムを改善した事例をご紹介します。具体的なインデックス設計の検討や実行計画の見直しを通じて、どのようにレスポンスタイムを最適化したのか、その裏側を詳しく解説します。インデックス追加によるパフォーマンスチューニングの際の参考になれば幸いです。 はじめに 本記事でお話しすること 決済処理の遅延の検知 事の発端 実行環境 原因調査 遅くなったクエリの特定 対応検討 方針 検証項目 インデックスの「アタリ」をつける ① オーソリゼーション履歴:(オーソリゼーションID, 承認番号,受信日時) ② オーソリゼーション:(カードID, 初回受信日時) ③ オーソリゼーシ

                インデックスの"正解"を探せ!決済レスポンスタイムを改善したパフォーマンスチューニング - inSmartBank
              • EXPLAINで探る!SQLが速くなる・遅くなる理由 - iimon TECH BLOG

                はじめに 前提 EXPLAIN(実行計画)とは EXPLAINを使ってみる EXPLAIN の主なフィールドを見てみよーー インデックスありと無しのEXPLAINを比較してみた ▼ インデックス無しで検索した場合の EXPLAIN ▼ インデックスありで検索した場合の EXPLAIN カバリングインデックス実践編 カバリングインデックスとは ▼ idによるクラスター化インデックス ▼ nameによる非クラスタ化インデックス ▼ ルックアップが必要となる事例 ▼ 複合インデックスを検討してみる まとめ 参考 最後に はじめに 本記事はiimon Advent Calendar 2025 11日目の記事となります。 こんにちは、iimonエンジニアのmariです!最近、業務の中で 既存の SQL を見直す機会 が増えてきました。 その中で、 「これ、もっとパフォーマンス良くできるんじゃないかな

                  EXPLAINで探る!SQLが速くなる・遅くなる理由 - iimon TECH BLOG
                • MySQLで全文検索機能を試したら実行速度が遅かったので調査してみた - iimon TECH BLOG

                  ◼️ はじめに ◼️ 前提条件 マシン環境 データベースについて ◼️ データ挿入に関して ◼️ 100万レコードでLIKE検索(前後の部分一致)と全文検索の比較 LIKE検索 全文検索 ◼️ EXPLAINで実行計画を確認 LIKE検索のEXPLAIN結果 全文検索のEXPLAIN結果 ◼️ EXPLAIN ANALYZEを確認 LIKE検索のEXPLAIN ANALYZE結果 全文検索のEXPLAIN ANALYZE結果 ◼️ リソース使用状況確認 全文検索のクエリのプロファイリングを確認 ◼️ INNODB_FT_INDEX_TABLEを確認 ◼️ テストデータを修正 最初に作成したレコード内容の一部 新たに作成したレコード内容の一部 LIKE検索 全文検索 ◼️ まとめ ◼️ 最後に ◼️ はじめに こんにちは!株式会社iimonでフロントエンジニアをしているあめくです! 本記事は

                    MySQLで全文検索機能を試したら実行速度が遅かったので調査してみた - iimon TECH BLOG
                  • スロークエリを改善したらECSの負荷が爆下がりした話(TypeORM)

                    TL;DR TypeORMで発生していたスロークエリを改善 スロークエリを改善したらECSの負荷も減少 はじめに スロークエリを改善したら、ECSコンテナ側の負荷も下がってなんでだろ?と思ったので記事にしようと思います。 環境 TypeORM v0.3.20 Node.js v18.x バックエンドインフラ ECS on Fargate => Amazon Aurora MySQL 負荷改善の前と後 まずはどのくらい改善したのかを示します。 この時ECSコンテナ8台動いてました。(4vCPU 8GBMem) 改善前 改善後 改善前と改善後は一日前の同じ時間帯のものです。 ちゃんと動いてるのか不安になるくらい下がってました笑 どのような対応をしたのか スロークエリの出ていたクエリでMySQLの実行計画を確認しました。 TypeALL,index, Using Filesort等はなかったので

                      スロークエリを改善したらECSの負荷が爆下がりした話(TypeORM)
                    • 【アドベントカレンダー2025】クエリチューニングの最初の一歩~実行計画を見てみよう~ - ぐるなびをちょっと良くするエンジニアブログ

                      はじめに こんにちは。開発部の國友です。 普段はデータベース管理者の業務を担当しています。 アプリケーションのパフォーマンス改善に取り組む際、「クエリが遅い」と感じたらまず行うべきことがあります。それは、RDBMSがそのクエリをどう実行しているか、その実行計画を確認することです。 皆さんは実行計画の確認方法、そして読み方を理解されていますか? よく見るテーマではありますが、基礎だからこそ具体的な事例を通じて改めて実行計画を再確認しましょう。 実行計画とは 実行計画とはRDBMSがユーザーから受け取った SQL クエリを最も効率よく処理するために立てる、具体的な手順書です。 ゴールは一つ ユーザーが書く SQL は目的を示しています。例えば、"SELECT * FROM employees WHERE emp_no > 400000"は、「従業員番号が 400000 より大きいユーザーを全部

                        【アドベントカレンダー2025】クエリチューニングの最初の一歩~実行計画を見てみよう~ - ぐるなびをちょっと良くするエンジニアブログ
                      • Use the TempTable storage engine on Amazon RDS for MySQL and Amazon Aurora MySQL | Amazon Web Services

                        AWS Database Blog Use the TempTable storage engine on Amazon RDS for MySQL and Amazon Aurora MySQL August 2023: This post was reviewed and updated to reflect a new parameter change in MySQL Community 8.0.28 that impacts Amazon Aurora MySQL release. MySQL 8.0 has introduced TempTable as the new, default internal temporary table storage engine to speed up query processing. The MySQL query optimizer

                          Use the TempTable storage engine on Amazon RDS for MySQL and Amazon Aurora MySQL | Amazon Web Services
                        • Efficient MySQL Performance を読んだ

                          とても良い本だった。 MySQL の初級・上級の本は既刊であるが、その間を埋めるものがないので書かれたというもので、難易度を 1 ~ 5 で表すと 4 くらい、難易度 5 は 実践ハイパフォーマンスMySQL とのことだった。 あくまで深堀りしたいアプリケーションエンジニア向けの本で、DBA 向けではないと明記されていた。実際 MySQL (InnoDB) の実装詳細の説明が適度に打ち切られていて、ただし必要十分なトピックはカバーされていて、学習効率が良い。 筆者は Hack MySQL を運営していたり、過去に Percona で数々のツールを作ってきた実績 もあり、信頼が置ける。 1. Query Response Time まず North Star Metrics としてクエリのレスポンスタイムを定義し、その改善に必要な項目を体系立てて説明している。この構成がかなり良くて、明確な指

                            Efficient MySQL Performance を読んだ
                          • MySQL SlowQueryの対処法 - Qiita

                            Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 概要 MySQLでSQLの実行が遅い場合の原因と対処法についてメモ 目次 MySQLの評価順序の確認 HAVING句を使わない JOIN時に作成されるテーブルが小さくなるようにJOINを実行する Using Temporary または Using Filesort を表示させない MySQLの評価順序の確認 SlowQueryの改善の前に、まずはMySQLがどのような順にSQLを評価し実行するかを 確認しておく必要があります。MySQLでは、 FROM → JOIN → WHERE → GROUP BY → HAVING → SELEC

                              MySQL SlowQueryの対処法 - Qiita
                            • 今日は、RDBの良くない設計にするとどうなるのかの日。 - 今日はなにの日。

                              初めに この記事は、MySQL Advent Calendar 2021のカレンダー | Advent Calendar 2021 - Qiitaのエントリーです。 ↓2021年12月12日は、@tmtms さんの記事です。 ruby-mysql - tmtms のメモ 目次 初めに 目次 とある日 良い設計とは? 悪い設計の定義 今回使用するテーブル 各テーブルのデータ 各テーブルデータ件数 テーブル合体編 設計 データ挿入 集約結果 hello_worldsテーブル設計 hello_worldsテーブルデータ hello_worldsテーブル件数 データ検索編 東京都の Population(人口) を取得する 日本の Region(地域) と Population(人口) を取得する 街の数が多い上位10件 まとめ 〆 とある日 「良いクエリは正しい知識と設計に宿る」という言葉を皆さ

                                今日は、RDBの良くない設計にするとどうなるのかの日。 - 今日はなにの日。
                              • スロークエリ改善の糸口を見つけ出せ 〜Gemini パイセンとともに〜 - asken テックブログ

                                こんにちは、インフラのテックリードの沼沢です。 皆さんも日々生成 AI を活用して開発業務や運用作業を爆速化していることでしょう。 弊社でも生成 AI を日々活用し、業務の効率化などに取り組んでいます。 (^q^) <「データベースナンモワカラン」な私ですが、数ヶ月ほど前に、生成 AI の力を借りてスロークエリを改善したことがあったので、そのことについてお伝えします。 書かれていること・いないこと 本稿は、MySQL のクエリパフォーマンス改善における生成 AI (本稿では Gemini ) の活用事例の紹介記事です。 クエリが遅かった原因やパフォーマンス改善方法の解説は含まれていません。 生成 AI を使ったスロークエリ改善のステップ 弊社では Google Workspace を利用しており、学習に利用されない Gemini の利用が可能です。 そこで、Gemini に以下の情報を

                                  スロークエリ改善の糸口を見つけ出せ 〜Gemini パイセンとともに〜 - asken テックブログ
                                • MySQL実行計画によるパフォーマンスチューニングの実践 - Timee Product Team Blog

                                  こんにちは。エンジニアリング本部 プラットフォームエンジニアリングチームの徳富です。 この記事は、 Timee Product Advent Calendar 2024 の 20 日目として、EXPLAINを使用した実行計画の見方についてご紹介します。 背景 タイミーでは、会社の成長に伴い、パフォーマンスチューニングが喫緊に求められています。このような課題に対処するため、クエリのパフォーマンスチューニングにはEXPLAINを使用した実行計画の確認が非常に重要です。しかし、実行計画の解釈には社内でばらつきがありました。この問題を解消するために、実行計画の見方を社内でまとめ、共有することにしました。ただし、この情報を社内だけに留めておくのはもったいないと考え、テックブログを通じて広く公開することに決めました。 実行計画の基本的な見方 MySQLのEXPLAIN文は、SQLクエリがどのように実行

                                    MySQL実行計画によるパフォーマンスチューニングの実践 - Timee Product Team Blog
                                  • パフォーマンスインサイトを活用してDB負荷を改善する - Fenrir Engineers

                                    こんにちは!インフラエンジニアの木村奈美です。 今回は、RDSのパフォーマンスインサイトを活用して問題を解決した事例を紹介します。 はじめに 今回のシステムは、 ALB + EC2 + RDS (Aurora MySQL) というオーソドックスな構成となっています。 ある時期から、EC2上のアプリケーションで5xxエラーやレイテンシー悪化が頻発するようになりました。 CloudWatchでメトリクスを確認すると、EC2の問題と同時刻に、RDSインスタンスのCPUUtilizationの上昇とFreeableMemoryの低下が観測できました。 RDSのCPUUtilizationが上昇し、FreeableMemoryが低下している 同時刻にDatabaseConnectionsが増えていることからアクセス数の増加を疑いましたが、ALBのRequestCountには特に目立った増加は見られま

                                      パフォーマンスインサイトを活用してDB負荷を改善する - Fenrir Engineers
                                    • 小ネタ/MySQL 8.0(Aurora MySQL v3)にバージョンアップしたときの実行計画調整にオプティマイザヒントを使う - Qiita

                                      AWS の Aurora MySQL v1 の EoL が迫り、また MySQL 5.7 の EoL もそう遠い話ではなくなった現在、Aurora MySQL v3 や MySQL 8.0 への移行が進んでいるのではないかと思います。 ※いや、前者は少ないでしょうね、おそらく。 バージョンアップ時、既存の SQL 文の実行計画が変わってしまい、処理が遅くなるケースがあります。 その対処としてオプティマイザヒントを使うのが今回のネタです。 どんなケースで遅くなる? MySQL 5.6(Aurora MySQL v1)→ MySQL 5.7(Aurora MySQL v2)のバージョンアップで最も有名なのはこちらでしょう。 MySQLでIN句の中に大量の値の入ったクエリがフルスキャンを起こす話(freee Developers Hub) こちらは MySQL 5.6(Aurora MySQL

                                        小ネタ/MySQL 8.0(Aurora MySQL v3)にバージョンアップしたときの実行計画調整にオプティマイザヒントを使う - Qiita
                                      1