DBパフォーマンス
■ はじめに https://dk521123.hatenablog.com/entry/2020/02/22/002139 https://dk521123.hatenablog.com/entry/2020/08/31/171754 で、Redshiftの勉強した際に、パフォーマンスの分析する際に EXPLAINステートメントがでてきた。 以前、やったはずだが、す…
■ 遅いSQL * 遅いSQLは、以下の2種類 【1】 SQL文の1回の実行が遅い 【2】 SQL文の1回の実行は許容範囲だが、その実行文が多数実行されている ■ 遅くなっていく理由 【1】 データ量の変化 1-1) データ数の増加 1ー2) 統計情報が変化せずに、実状…
■ はじめに 自己相関サブクエリ でパフォーマンスが悪かったので その際の解決策などを記録する 目次 【1】現象 【2】動作環境 【3】パフォーマンスが悪かったSQL文 【4】原因 【5】解決案 1)インデックス追加 2)SQL文変更 【1】現象 * 50万レコー…
■ アドホック クエリ(Adhoc query)とは? * その場限りで使い捨てのクエリをいう * Adhoc : その場かぎりの、その場しのぎに、特別の ■ サンプル -- 例1 SELECT * FROM Person WHERE id = 9; -- 例2 SELECT * FROM Person WHERE id = 5; ■ デメリット アド…
http://www.slideshare.net/matsunobu/ss-6584540#btnNext より ■ テーブルを日時別に分ける * DB設計からちゃんと考慮しておかないと非常に困る * パーティション機能を使うことも検討 http://blogs.yahoo.co.jp/dk521123/28959371.html ■ 正規化 / 非正規…
■ はじめに https://dk521123.hatenablog.com/entry/2010/08/06/110122 の続き。 パフォーマンスの良いSQLを記述するためのTipsを纏める 今回は、検索条件に絞る。 目次 【1】WHEREの左辺で算術演算子や関数を使わない 【2】「!=」「<>」で検索することは…
■ はじめに * DBパフォーマンスを行うためには、 まず、どのような工程でSQL文が実行されるかを知ることが重要となってくる 目次 【1】SQL文が実行されるまでの工程 1)SQL文の解析処理(PARSE) 2)SQL文の書き換え 3)実行プランの作成 【3】クエリ・…
■ SQLチューニングの手順 http://www.atmarkit.co.jp/fdb/rensai/orasql01/oracle_sql01_04.gif 手順1:問題箇所の確認 ■ 状況確認 * 何の処理を行っているのか * 処理にどのくらい時間がかかっているのか ■ 環境確認 * システム形態 * アプリケーションの種…
■ はじめに パフォーマンスの良いSQLを記述する方法を記す。 目次 【1】全般 1)クエリの書き方を統一する 2)ワイルドカード「*」を使用しない 3)表に別名を付ける 4)DISTINCTの使用は、極力避ける 【2】インデックス 【3】相関サブクエリ / 自己…
■ はじめに DB のインデックスについて、まとめる 目次 【1】インデックス 【2】インデックスの作成 【3】使用上の注意 【1】インデックス * パフォーマンス向上などに使用 http://www.atmarkit.co.jp/fdb/ref/ref_oracle/startup.html 【2】インデック…