本連載では、Oracleデータベースのパフォーマンス・チューニングの中から、特にSQLのチューニングに注目して、実践レベルの手法を解説する。読者はOracleデータベースのアーキテクチャを理解し、運用管理の実務経験を積んでいることが望ましい。対象とするバージョンは現状で広く使われているOracle9iの機能を基本とするが、Oracle 10gで有効な情報も随時紹介していく。(編集局)
サービス終了のお知らせ NAVERまとめは2020年9月30日をもちましてサービス終了いたしました。 約11年間、NAVERまとめをご利用・ご愛顧いただき誠にありがとうございました。
is not null で count する SQL を Index Only "Fast Full" Scan で仕事(計算)量を減らして高速化してみた。インデックスを作成すると、オプティマイザが期待していた仕事(計算)量が少なくなる実行計画を選択してくれた。 チューニング結果 ビフォー 17:36:30 SQL> alter system flush buffer_cache; System altered. Elapsed: 00:00:00.88 17:36:51 SQL> select count(c2) from test1 where c5 is not null; COUNT(C2) ---------- 100000 Elapsed: 00:00:05.70 17:37:11 SQL> select * from table(dbms_xplan.display_curs
スポンサード リンク ● 列番号は使用しない ORDER BY句に列番号で指定した場合、SQL解析時に読み替え処理が発生するのでパフォーマンス低下に繋がる ○ select a.emp_id, a.emp_name from emp a order by salary; × select a.emp_id, a.emp_name from emp a order by 5; ● DISTINCT句よりEXISTS句の使用を検討する DISTINCTは、条件に一致するレコードを取り出し暗黙のソート処理後に重複レコードを排除することに対し、EXISTS句は条件に一致するレコード1件でもあればそこで処理は終了する為、暗黙のソート処理をしない分、DISTINCTに比べると負荷が小さくなる × select distinct a.emp_id, a.dept_id from emp a,dept b
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く