タグ

チューニングとOracleに関するamigogrjのブックマーク (12)

  • oklab -

    最近ではコンピューター、ウェブ、モバイルでゲームを楽しめるようになりました。これらのゲームプログラミングについて学びましょう。 ゲームプログラミングの特徴 ゲームプログラミングは比較的新しいジャンルです。 ゲーム開発に使用される言語は、C#、C++JavaScriptSwiftRubyです。ゲームでは通常のアプリケーションと異なり複雑なビジュアルを操作するパフォーマンスと速度が要求されますので、プログラム言語もそれに特化している言語がおすすめです。 ゲームプログラミングは今後も人気の職種です。習得してステップアップを目指しましょう。 Oracle PLのプログラミング言語について学びましょう。 Oracle PLの特徴 SQL、T-SQLと同様にOracle PLもデータベースを処理するための言語です。違いとしてはOracle PLは世界最大のデータベースのひとつであるOracle

  • OracleとSQL Server、チューニングの違いを知る

    オプティマイザと統計情報 SQL ServerもOracleSQLを実行するに当たり、「オプティマイザ」と呼ばれるプログラムが、どう処理したら効率がよいかを解析し、「実行計画」を立てます。SQLの実行パフォーマンスを向上させるためには、どうすれば効率のよい実行計画になるかを探る必要があります。 SQL実行計画の確認手順 SQL ServerとOracleのどちらも、GUIまたはテキストから実行計画を確認できます。Oracleの場合はまずutlxplan.sqlという製品付属のスクリプトを実行し、実行計画を取得する準備を整える必要があります。SQL Serverの場合、特に実行計画を取得するための準備はありません。 実行計画をGUIで確認するには、Oracleでは「Performance Manager」のSQL実行計画ツールを使用します(図5)。SQL Serverでは「クエリアナライザ

    OracleとSQL Server、チューニングの違いを知る
  • プラン・スタビリティの使用方法

    20 プラン・スタビリティの使用方法 この章では、プラン・スタビリティを使用してパフォーマンス特性を保持する方法について説明します。プラン・スタビリティは、Oracleの新規リリースにアップグレードする際に、ルールベース・オプティマイザから問合せオプティマイザに移行する場合にも役立ちます。 この章には次の項があります。 実行計画を保持するためのプラン・スタビリティの使用方法 問合せオプティマイザのアップグレードによるプラン・スタビリティの使用方法 注意: ストアド・アウトラインは、SQL計画の管理を優先するために将来のリリースではサポートされなくなります。Oracle Database 11gリリース1(11.1)では、ストアド・アウトラインは以前のリリースと同様に引き続き機能します。ただし、新規アプリケーションではSQL計画の管理を使用することを強くお薦めします。SQL計画の管理により作

  • 門外不出のOracle現場ワザ 第4章

    目次 Part1 SQLを最適化するコストベースオプティマイザの基機能 はじめに CBOを使用する理由 SQL文の処理におけるオプティマイザの役割 Part2 CBOは何を見てどう判断するのか CBOのアクセスパス選択方法 ヒストグラム CBOとバインド変数 バインドピーク(Bind peek) I/O + CPUコストモデル CBOとフルスキャン CBOとキャッシュ効率 CBOとパラメータ CBOと結合順序 Part3 オプティマイザ統計の管理 自動統計収集 統計履歴の自動保存 動的サンプリング Part4 実行計画の固定と自動チューニングオプティマイザの活用方法 実行計画を固定する機能 自動チューニングオプティマイザ CBOを使いこなすためには Part4 実行計画の固定と自動チューニングオプティマイザの活用方法 実行計画を固定する機能 オプティマイザヒント 統計情報の再収集によって

  • @IT:Oracle SQLチューニング講座

    連載では、Oracleデータベースのパフォーマンス・チューニングの中から、特にSQLのチューニングに注目して、実践レベルの手法を解説する。読者はOracleデータベースのアーキテクチャを理解し、運用管理の実務経験を積んでいることが望ましい。対象とするバージョンは現状広く使われているOracle9iの機能を基とするが、Oracle 10gで有効な情報も随時紹介していく。(編集局) 連載目次 パフォーマンス・チューニング概要 「パフォーマンス・チューニング」という言葉を聞いて、頭を抱えるデータベース管理者(以下、DBA)や開発者の方は多いのではないでしょうか。「難しそうで、あまり深い知識はない」あるいは「つらくて、大変な作業」というイメージを持っている方もいると思います。 しかし、一方では「特にパフォーマンス・チューニングを意識していない」という意見も聞かれます。これは、近年の目覚ましいハ

    @IT:Oracle SQLチューニング講座
  • @IT EVENT 10046でのSQLトレースの取得

    EVENT 10046でのSQLトレースの取得 ドキュメントには記載されていませんが、EVENTと呼ばれるデバッグ用の機能により、SQLトレースで取得できる情報に加えて、より詳細な情報を取得することも可能です。EVENT 10046には表3のようなレベルがあり、通常のSQLトレースによって作成されるトレースファイルには含まれない、バインド変数の値や待機イベントを確認できます。通常のSQLトレースに比べ、非常に多くの情報がファイルに出力されるため、ディスクの空き容量に十分注意してください。 なお、EVENTはOracleの内部動作変更や、デバッグなどに使用されるものであり、正式にサポートされるものではありません。使用する場合は、自己責任において使用してください。 レベル 内容 LEVEL 1

    @IT EVENT 10046でのSQLトレースの取得
  • 索引(INDEX)

    TOP> スキーマ・オブジェクト >索引(INDEX) 索引(INDEX) 索引とは 索引(INDEX)とは、データベースから高速にデータを検索するためのオブジェクトです ほとんどの場合、索引を使用した検索は高速に動作します。 しかし、次の場合は索引検索よりも全表走査のほうが高速に動作する場合があります。 検索対象となる表が小さい場合。 表の大部分が検索対象となる場合。 索引の特徴として検索は高速になりますが、逆に更新系の処理(INSERT,UPDATE、DELETE)は索引のメンテナンスによる オーバーヘッドが発生しますので遅くなります。 索引を作成するには、以下のようなガイドラインがあります ・索引を作成した方がよい場合 大規模な表の、1%から15%程度の行を頻繁に検索する。 列の値が、比較的一意である WHERE句の条件として、頻繁に使用される列である。 ・索引を作成しない方がよい場

  • 索引を作成したのにパフォーマンスが悪いケース

    連載では、Oracleデータベースのパフォーマンス・チューニングの中から、特にSQLのチューニングに注目して、実践レベルの手法を解説する。読者はOracleデータベースのアーキテクチャを理解し、運用管理の実務経験を積んでいることが望ましい。対象とするバージョンは現状で広く使われているOracle9iの機能を基とするが、Oracle 10gで有効な情報も随時紹介していく。(編集局) 連載目次 前回の「パフォーマンスを向上させるSQLの記述法」では、SQLの記述方法を統一することのメリットについて説明しました。SQLの処理ステップを理解し、記述方法を統一することがパフォーマンスへも大きく影響することが理解できたと思います。今回は、索引を使用したデータアクセス方法に絞って、索引を使用するためのSQLの記述方法や、索引を使用した検索時の注意点について説明します。 索引を使用できないケース 「索

    索引を作成したのにパフォーマンスが悪いケース
  • 現場で使える Oracle SQL チューニング:9.ヒントの書き方(Select)

    2008年02月04日 9.ヒントの書き方(Select) またまた久々更新します。 前回から4ヶ月ぶりです。担当PJのドタバタですっかり更新を怠けてました。 さて、前回予告していたSelect文でのヒントの書き方です。 ヒントも以下2パターンに応じて書きます。 Ptn1)同時利用者が多くサーバに負荷をかけたくない場合 →Index&Nested Loop結合でのプランを選択 Ptn2)同時利用者が少なくサーバに負荷をかけてもよい場合 →Full Scan&Hash結合でのプランを選択 今回は上記のPtn1)を説明します。 例) Select A.* from A,B,C where A.x=B.x and B.y=C.y and A.s='BBBB'; この例でPtn1)のヒントを書くと以下となります。 IndexA_x:Aテーブルのs項目へのインデックス

  • Oracle SQLのHint句のメモ

    ┌───────┐ DELETE ─┬─/*+ ─┴┬─ Hint ─┬┴─ */─ SELECT ─┤     └─ Text ─┘ UPDATE ─┘ Hint(ヒント)の種類 * ALL_ROWS(コストベース) 最高のスループットを目標として、文ブロックを最適化。 SELECT /*+ ALL_ROWS */ EMPNO FROM EMP WHERE EMPNO = 123; * FIRST_ROWS(コストベース) 最高の応答時間目標として、文ブロックを最適化。 SELECT /*+ FIRST_ROWS */ EMPNO FROM EMP WHERE EMPNO = 123; * CHOOSE(コスト/ルールベース) テーブルの統計に基づいて、オプティマイザの種類を選択。 最高のスループットを目標として最適化。 SELECT /*+ CHOOSE */ EMPNO FROM E

  • Oracle SQL の Hint(ヒント)句まとめ(一覧)

    以前 Oracle SQLのHint句のメモ って記事を書きましたが、これが意外と検索されているんですよね。 バッチ処理向け SQL での話なのですが、パフォーマンスを突き詰めるとどうしてもヒント句に頼らざるを得ないケースがでてきます。なんでそっちのインデックス使うんだよぉ〜とか、何故かテーブルフルスキャンしてるときとか・・・その他もろもろ Oracle のコストベースの判定に泣きを見るケースがあります。 そんな僕もヒント句を使いこなせているわけではありません。 昨日 Oracle 使いなら手元におきたい! - 書評 - 詳解Oracle アーキテクチャ を書いていて知らないヒント句があまりにたくさんあったので一覧をまとめてみました。情報ソースはオラクルのマニュアルです。無料で入手できて、最も正しく、最も情報量が多い教科書です。(わかりやすいかどうかは全く別問題です。w) ※下記サイトの閲

  • パフォーマンスセラピー / Statspackとは

    Oracle8i(8.1.6)から実装されたOracle標準のパフォーマンスレポートツールです。 Statspackを利用するとOracleの稼動状況を確認することができるため、Oracleのパフォーマンス・チューニングには必要不可欠なツールです。また、Oracle標準のパフォーマンスレポートツールのため、Enterprise Edition でも Standard Edition 、Standard Edition One でも利用することができます。もちろん、追加のライセンスやオプションを必要としません。 OracleOracle自身の稼動状況を「動的パフォーマンスビュー(V$ビュー)」に累積値として記録しています。例えば、何回、どのファイルに読み書きを行ったのかなど・・・・ 動的パフォーマンスビュー(V$ビュー)の情報は累積値なので、ある期間の稼働状況を求めるには、2つの時点

  • 1