タグ

dbとperformanceに関するkiririmodeのブックマーク (10)

  • 型キャストの場所のせいで、秒で終わっていたクエリに1時間超かかるようになってしまった話 - SmartHR Tech Blog

    SmartHRで届出書類という機能を担当しているプロダクトエンジニアのsato-sと申します。 今日は、以前私が調査にとても苦労したパフォーマンス上の問題の話を紹介したいと思います。 TL;DR PostgreSQLのアップグレードを実施した アップグレード後、今までは問題のなかった特定のクエリの実行に1時間超かかり、DBCPU使用率がピッタリ100%に張り付くようになった 色々調査した結果、PostgreSQL上の型キャストの場所のせいで、良くないクエリプランが選択されることが原因だった 型キャストの場所には気をつけよう PostgreSQLのアップグレードと挫折 SmartHRでは基的にWebアプリケーションのデータベースとしてGoogle CloudのCloudSQLによって提供されるPostgreSQLを利用しています。 私の担当している届出書類機能では、利用中のPostgre

    型キャストの場所のせいで、秒で終わっていたクエリに1時間超かかるようになってしまった話 - SmartHR Tech Blog
    kiririmode
    kiririmode 2024/01/21
    キャストによってオプティマイザがフィルタの推定行数を誤ってしまいパフォーマンス劣化に繋がる例。pev2による実行計画の可視化も参考になる
  • Webシステムにおいて「画像や帳票等のファイルはDBへ格納すべきなの?」を調べてみた(ファントムファイル) - Qiita

    Webシステムにおいて「画像や帳票等のファイルはDBへ格納すべきなの?」を調べてみた(ファントムファイル)oracleWeb この記事は、 JPOUG Advent Calendar 2023 24日目の記事です。 23日目は multilayer さんの記事『OCIのLanding Zoneについて調べてみた!』でした。 想定読者 ファントムファイルについてよく知らない、帳票の扱い方をあまり考えたことがない人 イントロダクション 皆さん、世の中のWebシステムで利用される画像や帳票ファイルがどこに保存されているかご存知でしょうか? 帳票や大きな画像ファイルなどを扱う際、大きく分けて2つの設計方針があります。 ・DBに直接保存する ・DB外部に保存し、パスなどをDBに保存する オライリーのSQLアンチパターンの、”ファントムファイル”という章にはこのあたりのことが書いています。 [Amaz

    Webシステムにおいて「画像や帳票等のファイルはDBへ格納すべきなの?」を調べてみた(ファントムファイル) - Qiita
  • 共有プール領域に関する検証 その3 - InsightTechnology 旧ブログ

  • OTN Japan - Oracleデータベース 性能対策機能 ~ StatspackとDiagnostics Packを使いこなす ~ 第1回 StatspackとDiagnostics Packの概要と使用方法

    NTTコムウェア株式会社 プロジェクト管理統括部 技術SE部門 DB技術グループ 坂下 徹 Oracleデータベースの性能対策の重要な機能、「Statspack」や「Oracle Enterprise Manager 10g Diagnostics Pack」(※オプションライセンス)の利用ポイントをお伝えします。使わないと"もったいない"機能です!(Diagnostics Packの有無による違いはここ) - INDEX - ■ 1 はじめに ■ 2 性能対策概要 ■ 3 Statspack ・ 3.1 インストール ・ 3.2 メンテナンス ・ 3.3 レポート作成 ・ 3.4 Statspackが不向きなケース ■ 4 Diagnostics Pack ・ 4.1 Automatic Workload Repository (AWR) ・ 4.2 Automatic Database

  • チューニングが必要なSQLを洗い出す

    連載では、Oracleデータベースのパフォーマンス・チューニングの中から、特にSQLのチューニングに注目して、実践レベルの手法を解説する。読者はOracleデータベースのアーキテクチャを理解し、運用管理の実務経験を積んでいることが望ましい。対象とするバージョンは現状で広く使われているOracle9iの機能を基とするが、Oracle 10gで有効な情報も随時紹介していく。(編集局) 連載目次 前回までの記事でSQLチューニングを行うために必要な基礎知識を説明しました。今回は、チューニング対象とすべきSQLを、どのような観点から、どのように洗い出していくのかを説明していきます。 チューニング対象SQLの洗い出し 通常、アプリケーションでは多くのSQLが実行されています。SQLチューニングのステップは、実行されている多くのSQLの中から、チューニングの目標に合わせて、対象とするSQLを洗い出

    チューニングが必要なSQLを洗い出す
  • 共有プール領域に関する検証 その2 - InsightTechnology 旧ブログ

    <共有プールに関する検証 その2> ペンネーム ダーリン – V$SQLAREA と 負荷の高いSQL -- 今週も、先週に続いて共有プールを覗いていこう。 先週は、動的パフォーマンスビューのV$SQLAREA表を使って類似SQL文を見つけ る方法と、CURSOR_SHARINGを設定して、バインド変数の利用と同等の効果を実 現する方法を紹介した。 さて、今回はそのV$SQLAREA表から負荷の高いSQLを見つけてみよう。 V$SQLAREA表には、SQLの負荷を見極めるために有効な情報として以下のような 統計データがある。 ===  === SHARABLE_MEM EXECUTIONS LOADS FIRST_LOAD_TIME PARSE_CALLS DISK_READS BUFFER_GETS ROWS_PROCESSED ADDRESS HASH_VALUE 上記のカラムはいずれ

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • インデックスの基礎知識

    ■ インデックスとは データベースの世界で、インデックス(索引)とはテーブルに格納されているデータを 高速に取り出す為の仕組みを意味します。 インデックスを適切に使用することによってSQL文の応答時間が劇的に改善 される可能性があります。 インデックスにはB-Treeインデックスをはじめ、ビットマップインデックス、 関数インデックスなどの種類がありますが、ここでは最も一般的に使われ、かつ ほとんどのDBMSでサポートされているB-Treeインデックスについて解説します。 ※ CREATE INDEX文でオプションを指定しない場合は通常B-Treeインデックスが 作成されます。 ■ B-Treeインデックスのしくみ B-Tree(Balanced Tree)インデックスは次のようなツリー状の構造になっています。 ツリーの先頭はヘッダブロックと呼ばれています。ヘッダブロックでは、キー値の 範囲

  • Ring

    Ringとは、リクルートグループ会社従業員を対象にした新規事業提案制度です。 『ゼクシィ』『R25』『スタディサプリ』など数多くの事業を生み出してきた新規事業制度は、 1982年に「RING」としてスタートし、1990年「New RING」と改定、そして2018年「Ring」にリニューアルしました。 リクルートグループの従業員は誰でも自由に参加することができ、 テーマはリクルートの既存領域に限らず、ありとあらゆる領域が対象です。 リクルートにとって、Ringとは「新しい価値の創造」というグループ経営理念を体現する場であり、 従業員が自分の意思で新規事業を提案・実現できる機会です。 Ringフロー その後の事業開発手法 Ringを通過した案件は、事業化を検討する権利を得て、事業開発を行います。 さまざまな事業開発の手法がありますが、例えば既存領域での事業開発の場合は、 担当事業会社内で予算や

    kiririmode
    kiririmode 2011/02/18
    "取得する情報がインデックスにすべて含まれているときは、インデックスを検索するだけでクエリが完結する"
  • 実録MySQLのチューニング 春の陣 - (ひ)メモ

    long_query_time = 0.5 とか閾値を小さめにしてもスロークエリが出なくなったけど、CPU(user)使用率高いとか、なんか足引っ張ってるクエリがあるっぽいなぁという場合のお話です。 「実録」の通り、現在絶賛進行中ですので、逐次動きがあったら書き足していくつもりです。 「あれを見た方がいい」とか「これをあーした方がいい」とかあれば、コメントかTwitterで @hirose31 までお知らせいただけるとうれしいです! 使用しているのは、MySQL 5.1.41 です。 前提: サーバーリソースのグラフ GangliaでもCactiでもMuninでもなんでもいいんですが、サーバリソースのグラフ化は必須です。チューニングした際の効果測定や、そろそろリソースい潰してやばいとかの予測にも使えます。 自分はDBサーバの場合このあたりをグラフ化してます。 CPU使用率 (user,

    実録MySQLのチューニング 春の陣 - (ひ)メモ
  • 1