タグ

SQLとsqlに関するpick_mugetuのブックマーク (25)

  • マテリアライズドビュー - Wikipedia

    データベース管理システムは関係モデルに従うため、ビュー は仮想的な テーブル であり、データベースに対するクエリの結果を表す。ビューを参照または更新すると、その処理はビューの対象となった実際のテーブルへの参照または更新へ変換され、実行される。 マテリアライズドビュー (Materialized View; 体現ビューともいう)はこれとは異なるアプローチを取り、クエリの結果を実際のテーブルにキャッシュする。キャッシュされたデータは元のテーブルが変更されるたびに更新される。そのため、最新でない状態を取得する可能性はあるが、効率的なアクセスが可能になる。特にデータウェアハウスでは実際のテーブルに対して頻繁にクエリを実行することは非常にコストが高いため、マテリアライズドビューが有効である。 さらに、マテリアライズドビューは実際のテーブルとして実体化されるため、実際のテーブルに対して適用可能な操作は

    pick_mugetu
    pick_mugetu 2011/02/15
    マテリアライズドビュー
  • Oracleの機能を使って表の結合を高速化する(1/4) - @IT

    連載では、Oracleデータベースのパフォーマンス・チューニングの中から、特にSQLのチューニングに注目して、実践レベルの手法を解説する。読者はOracleデータベースのアーキテクチャを理解し、運用管理の実務経験を積んでいることが望ましい。対象とするバージョンは現状で広く使われているOracle9iの機能を基とするが、Oracle 10gで有効な情報も随時紹介していく。(編集局) 連載目次 前回「表の結合を極めるチューニング・テクニック」では、絞り込み条件がない結合を含むSQL、絞り込み条件のある結合を含むSQLについて実例を基に最適な結合方法を説明しました。 今回は、Oracleの機能である「マテリアライズド・ビュー」「BITMAP JOIN INDEX」「クラスタ」を利用した結合処理に関するチューニング・テクニックについて説明します。 マテリアライズド・ビューを理解する 結合処理な

    Oracleの機能を使って表の結合を高速化する(1/4) - @IT
    pick_mugetu
    pick_mugetu 2011/02/15
    マテリアライズドビュー
  • 今夜こそわかる安全なSQLの呼び出し方 ~ 高木浩光氏に聞いてみた

    「安全なSQLの呼び出し方」というSQLセキュリティに焦点を当てたドキュメントが、2010年3月にIPA(独立行政法人情報処理推進機構)から公開された。 これは2006年1月から提供されている、Webサイト開発者や運営者向けのセキュアWebサイト構築のための資料「安全なウェブサイトの作り方」の別冊として書かれたものである。「安全なウェブサイトの作り方」が92ページなのに対して、SQLインジェクションについてだけで40ページもの分量がある。なぜこんなに分厚いのだろうか。 このドキュメント作成に協力したという、独立行政法人産業技術総合研究所 情報セキュリティ研究センターの高木浩光氏にお話を伺うことができた。高木氏は個人ブログ「高木浩光@自宅の日記」で、セキュリティ関連の問題を追求する論客としても知られている。筆者も以前、この連載の「今夜わかるSQLインジェクション対策」の回(2006年11月

    今夜こそわかる安全なSQLの呼び出し方 ~ 高木浩光氏に聞いてみた
  • Oracleで全レコードからランダムに行を取得 - モノノフ日記

    Oracleでランダムにレコードを取得するの劇的に早い方法がありました。 今までは乱数発生させてソートしていたのが関数1つで済むようになります。 テーブル・データをランダムサンプリングする - Oracle/オラクルをマスターするための基と仕組みで紹介されています。 SAMPLEという関数を使うことで速度が劇的に早くなりました。 関数の説明はリンク先を参照して頂くとして実際にベンチを計ってみました。 約40万レコードのテーブルから10行をランダムに取得するSQLで計測しました。 SAMPLE使わない方法 SELECT WORD FROM (SELECT dbms_random.random() as rand, WORD FROM TEST ORDER BY rand) WHERE ROWNUM <= 10; 実行時間: 3.11698914秒 SAMPLE使う方法 SELECT WOR

    Oracleで全レコードからランダムに行を取得 - モノノフ日記
  • テーブル・データをランダムサンプリングする - オラクル・Oracleをマスターするための基本と仕組み

    テーブル・データをランダムサンプリングする Top | Knowledge| DB構築| 文字列関数| 日付関数| 集計関数| SQL関数(アルファベット順) SQL(抽出・更新)| SQL*Plus| PL/SQL| Utility| Structure| スキーマ| チューニング| 用語| 参考書 SQL で 全レコードからランダムに行を取り出す SELECT のサンプリング機能を使用してテーブルからブロックレベルか行レベルでランダムにレコードを取り出す。 ブロックレベルでサンプリングした場合には、取得するブロック先が使用済みの未使用領域の場合もあるので 0 件になる可能性がある。 大規模表 のインデックスが未設置の項目に対して 集計関数 を用いて平均長や分散を採取するときには、データベースにかけるメモリやディスクなどへの負荷をかなり減少させることができる。 全体からランダムに指定した