タグ

SQLとOracleに関するamigogrjのブックマーク (20)

  • バルクフェッチ - オラクル・Oracle PL/SQL 入門

    PL/SQL によるバルクフェッチ処理 PL/SQL の カーソル処理 には 1レコード単位にレコードを取り出す方式 だけではなく 複数のレコードを1回の処理で行うバルク処理がある。 バルク処理は1回の IO で大量のレコードを SELECT してそれを一度に FETCH 処理するために バッチ処理などメモリ資源を十分に確保できる状態では非常に効率よく実行することができる。 バルクフェッチ(取り出し)にはレコード型の コレクション型を使用するとコーディング量が減りメンテナンスも容易になる。 単一データの配列を複数使用する方法もあるが Oracle 9i からはレコード全体の INSERT、UPDATE がサポートされているのでレコード型によるコレクション型を使用するほうが都合良いだろう。 バルクフェッチの例 (FETCH 〜 BULK COLLECT) カーソル定義レコード型のコレクション

  • バルクインサート - オラクル・Oracle PL/SQL 入門

    PL/SQL によるバルクインサート処理 バルクインサート処理 (BULK INSERT:FORALL 構文) は 1 回のコンテキストスイッチで大量のレコードを処理(バルク処理)することができる。 このコンテキストスイッチ(PL/SQL エンジンと SQL エンジンの間で発生する処理のやり取り) の回数を減らすことによって大量データの処理時のレスポンスを向上することが可能になる。 このバルクインサート例ではバルクフェッチ(取り出し)とバルクインサートに レコード型 の コレクション を 使用している。バルクインサートに対してレコード型を使用できるのは Oracle 9i 以降となる。 Oracle 8i 以前でのバルクインサート処理 Oracle 8i 以前ではレコード型によるバルクインサートには対応していない。 フィールド数が多いとやや面倒になるが、バルクインサート処理自体は Orac

  • Oracle Database SQLリファレンス -- 目次

    ヘッダーをスキップ Oracle Database SQLリファレンス 10g リリース2(10.2) B19201-02 索引 目次 タイトルおよび著作権情報 はじめに 対象読者 ドキュメントのアクセシビリティについて 関連ドキュメント 表記規則 サポートおよびサービス SQLの新機能 Oracle Database 10g リリース2(10.2)でのSQLの新機能 Oracle Database 10g リリース1(10.1)でのSQLの新機能 Vol.1 1  概要 SQL歴史 SQL規格 SQLの特長 すべてのリレーショナル・データベースに共通の言語 最新の機能拡張 字句規則 ツール製品のサポート 2  Oracle SQLの基要素 データ型 Oracleの組込みデータ型 CHARデータ型 NCHARデータ型 NVARCHAR2データ型 VARCHAR2データ型 VARCHAR

  • Oracle SQL (順序:SEQUENCE)

    順序の生成 SQL> CREATE SEQUENCE TS_伝票番号; 順序が作成されました。 これにより順序名が"TS_伝票番号"で全てのパラメータはデフォルト値で生成されました。 実際に順序のパラメータがその様に設定されたかは、USER_SEQUENCESデータディクショナリビューを検索すると様子がわかります。 SQL> SELECT * FROM USER_SEQUENCES WHERE SEQUENCE_NAME = 'TS_伝票番号'; SEQUENCE_NAME MIN_VALUE MAX_VALUE INCREMENT_BY C O CACHE_SIZE LAST_NUMBER ------------------------------ ---------- ---------- ------------ - - ---------- ----------- TS_伝票番号

    amigogrj
    amigogrj 2010/04/21
    順列になっているキー値などの取得方法
  • oklab -

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

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

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

  • 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 実行計画の固定と自動チューニングオプティマイザの活用方法 実行計画を固定する機能 オプティマイザヒント 統計情報の再収集によって

  • PL/SQLアプリケーションのパフォーマンスのチューニング

    11 PL/SQLアプリケーションのパフォーマンスのチューニング この章では、効率的なPL/SQLコードを記述する方法および既存のコードを高速化する方法について説明します。 この章の項目は、次のとおりです。 PL/SQLコンパイル用の初期化パラメータ PL/SQLでプログラムを最適化する方法 PL/SQLのパフォーマンス問題を回避するためのガイドライン PL/SQLプログラムのプロファイルおよびトレース バルクSQLによる、DML文および問合せのループ・オーバーヘッドの削減 PL/SQLでの計算集中型プログラムの記述 EXECUTE IMMEDIATEおよびカーソル変数を使用した動的SQLのチューニング NOCOPYコンパイラ・ヒントを使用したPL/SQLプロシージャ・コールのチューニング システム固有の実行のためのPL/SQLコードのコンパイル パイプライン・ファンクションによる変換の設

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

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

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

    Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス 10g リリース2(10.2) B19245-02

  • @IT EVENT 10046でのSQLトレースの取得

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

    @IT EVENT 10046でのSQLトレースの取得
  • CASE と DECODE 関数の違い - オラクル・Oracleをマスターするための基本と仕組み

    CASE 式 と DECODE 関数の違い 標準 SQL の CASE 式 とオラクルの SQL 特有の DECODE 関数は、ほぼ同じ機能をもち、CASE 式 も DECODE 関数 も短絡評価(※)であるが、この2つは NULL の取り扱い方で大きく異なっている。 (※) 短絡評価(ショートサーキット:short circuit evaluation):条件に該当するものが見つかると後続の条件は評価しない DECODE 関数 よく知られた非常に便利な変換関数、引数がある値のときに別の値に変換する関数である。 DEOCDE のパラメータ数の上限は 255 であり、当然条件指定はそれ以下(条件と結果で 2 パラメータのため 127 以下)になる。 CASE 式 もほぼ同数の上限がある。 検索 CASE 式 のように評価する式が個々に設定できないため、範囲指定などの条件指定が基的に行えない

  • Oracle Database PL/SQLユーザーズ・ガイドおよびリファレンス -- 目次

    Oracle Database PL/SQLユーザーズ・ガイドおよびリファレンス 10g リリース2(10.2) B19257-01

  • ローカル・サブプログラム - オラクル・Oracle PL/SQL 入門

    ローカル・サブプログラム ローカル・サブプログラムとは、変数の宣言部に記述する 「サブプログラム」 のことである。 ローカル・サブプログラムを使用することで 「スタンドアロン・サブプログラム」 (単独のストアドプロシージャ)においても内部でモジュール化することが可能となる。オーバーロード も可能となっている。 ローカル変数と同じようにスコープは該当ブロックに限定される。 ローカル・サブプログラムは必ず変数の宣言の後に記述しなければならない。 ストアドプロシージャ(local_subprogram_sample) 内の ローカル・サブプログラム ADD の例 SQL> create or replace procedure local_subprogram_sample 2  is 3     -- ローカル変数 4     vnum  number; 5     vdate date; 6

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

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

    索引を作成したのにパフォーマンスが悪いケース
  • Oracle 使いなら手元におきたい! - 書評 - 詳解Oracle アーキテクチャ

    久々に図書館で借りたネタです。最近は図書館通いの頻度も減り、ネットで読みたいを読む方向に変わってきました。まぁそのせいで普段読まないジャンルのに出会う頻度は極端に減りましたけど。 さて今回読んだは詳解 Oracle アーキテクチャというオラクルです。前々から気になってたけど図書館で借りられるとは思いもしていなかった。この手のは一読してからじゃないとスペースの無駄になるだけってが結構あるので一読してみたかった。 でいきなり結論。Oracle マスター GOLD 相当の参考書数冊を実務に必要な部分のみこの1冊に凝縮した感じ。逆に言うと Oracle マスターとるための参考書としては情報不足です。ただコレから Oracle を運用して行かなくちゃならないという人にとっては、いつも手元においておきたい一冊です。

  • 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) ※下記サイトの閲

  • 1