タグ

2011年11月24日のブックマーク (11件)

  • SQLチューニングの必須知識を総ざらい(後編)

    連載では、Oracleデータベースのパフォーマンス・チューニングの中から、特にSQLのチューニングに注目して、実践レベルの手法を解説する。読者はOracleデータベースのアーキテクチャを理解し、運用管理の実務経験を積んでいることが望ましい。対象とするバージョンは現状で広く使われているOracle9iの機能を基とするが、Oracle 10gで有効な情報も随時紹介していく。(編集局) 連載目次 前編に引き続き、SQLチューニングを行うために必要な基礎知識として、アクセスするデータ・ブロック数に大きな影響を与える結合方法の種類と、オプティマイザの実行計画の決定に影響を与える統計情報、ヒントについて説明していきます。 結合方法の種類 正規化されたデータベースでは、必要なデータを得るために複数の表からデータを取得、ひも付ける(結合する)処理が数多く発生します。表を結合する方法にはいくつかの種類が

    SQLチューニングの必須知識を総ざらい(後編)
  • 表の結合を極めるチューニング・テクニック

    連載では、Oracleデータベースのパフォーマンス・チューニングの中から、特にSQLのチューニングに注目して、実践レベルの手法を解説する。読者はOracleデータベースのアーキテクチャを理解し、運用管理の実務経験を積んでいることが望ましい。対象とするバージョンは現状で広く使われているOracle9iの機能を基とするが、Oracle 10gで有効な情報も随時紹介していく。(編集局) 連載目次 前回までは、索引に関するチューニング・テクニックを説明しました。今回からは表の結合に関するパフォーマンス向上方法を考えてみます。結合処理は、正規化されたデータベースでは、必ず必要になる処理であり、パフォーマンスが問題となりやすい部分でもあります。ここでは、参照する表の件数、絞り込み条件の有無などを変更し、結合の種類によって処理時間、アクセスブロック数などがどのように変わるか、実例を挙げて説明していき

    表の結合を極めるチューニング・テクニック
  • 明示的な JOIN 句でプランナを制御する

    10.3. 明示的な JOIN 句でプランナを制御する PostgreSQL 7.1 から明示的な JOIN 構文を使って問い合わせプランナをある程度制御できるようになりました。どうしてこういうことが問題になるのか、まずその背景を見る必要があります。 単純な問い合わせ、たとえば SELECT * FROM a, b, c WHERE a.id = b.id AND b.ref = c.id; では、プランナは自由に与えられたテーブルをいろんな順で結合することができます。 たとえば、WHERE 条件の a.id = b.id を使ってまず A と B を結合し、他の WHERE 条件を使ってその結果に C を結合するといった計画を立てることができます。あるいは、B と C を結合し、その結果に A を結合することもできます。 あるいは、A と C を結合し、その結果に B を結合することもで

  • Amazon.co.jp: 政治のことよくわからないまま社会人になってしまった人へ (増補改訂版): 池上彰: 本

    Amazon.co.jp: 政治のことよくわからないまま社会人になってしまった人へ (増補改訂版): 池上彰: 本
  • Amazon.co.jp: 借金を返すと儲かるのか?: 会計の公式: 岩谷誠治: 本

    Amazon.co.jp: 借金を返すと儲かるのか?: 会計の公式: 岩谷誠治: 本
  • クエリ最適化 - Wikipedia

    クエリ最適化(クエリさいてきか、英: query optimization)は、多くのデータベース管理システム (DBMS) の持つ機能であり、クエリ(データに対する問い合わせ)を実行する最も効率的な方法を決定する。クエリオプティマイザ (query optimizer) とも言う。クエリオプティマイザは、入力されたクエリについて考えられるクエリ実行計画群を評価し、どれが最も効率的か決定する。コストに基づいたクエリオプティマイザでは、個々の計画のコストを見積もり、最もコストの低い計画を選ぶ。コストはクエリ実行時コストであり、入出力(I/O)操作数、CPU時間、その他から決定する。評価されるクエリ実行計画群は、可能なアクセス経路(例えば、インデックス検索、シーケンシャル検索)と結合アルゴリズム(例えば、ソートマージ結合、ハッシュ結合、入れ子ループ)の組み合わせから生成される。探索空間は入力さ

  • シゴタノ! - 今日からすぐできる集中力を高める時間術

    だいぶ前(2005/3/28)の記事ですが、それが約1年後(2006/4/10)に43Foldersで話題になり、その広がり具合が興味深かったです。元記事自体も邦訳があり、こちらもけっこう盛り上がっているようです。 ●元記事:Why can’t you pay attention anymore? ●43Foldersの記事:ADT & the catch-and-release distraction program ●元記事の邦訳:マルチタスクで人間の知力が低下する?–情報化時代のアイロニー 43Foldersの記事やこの記事に寄せられたコメントの中で紹介されていた、「おお、これはすぐにできる」と感じられた“時間ハック”をご紹介します。 元記事をまとめると、 ●注意力欠如障害(Attention Deficit Disorder:ADD)の研究を続けてきた ●Dr. Edward Ha

  • 時間管理の仕方でも変わる?あなたの「集中力」をアップさせる方法 - はてなニュース

    仕事や勉強など、やらなければいけない作業がある時に限って、他のことに気がいってしまうことはありませんか?今回は今すぐ使えるものから時間管理のコツまで、「集中力をアップさせる方法」についてのエントリーをご紹介します。 ■気が散らない工夫をしよう 気が散って作業が進まないと、イライラして余計に気が散ってしまいますよね。まずは気が散らないための工夫をしてみましょう。 ▽気が散る自分とつきあう9つの方法 : ライフハッカー[日版] こちらのエントリーでは、気が散る自分と付き合う方法として次の9つを紹介しています。 1.気が散ってしまう自分を受け入れる。 2.途中で気が散ることを想定する。 3.他の人に託すか、後にするか考える。 4.短めにタイマーをかける。 5.寄り道の原因になりそうなものを分散する。 6.刺激になるものを排除する。 7.分散して発信する。 8.周囲に協力を求める。 9.寄り道し

    時間管理の仕方でも変わる?あなたの「集中力」をアップさせる方法 - はてなニュース
  • 開発者が語る、Google+で使ったJavaScriptテクニック

    Google+チームに所属するエンジニアのMark Knichel氏が、Google+の高速性を実現するためにどのようなテクニックを使ったのかについて、Google+のページで解説しています。 (1) Mark Knichel - Google+ - Hi everyone! I’m an engineer on the Google+ infrastructure… 最新のWebサービスでどのようなJavaScriptのテクニックが使われているのかを垣間見ることができる説明になっていますので、見出しを中心に紹介しましょう。 1) We <3 Closure 私たちはClosureが大好きだ(<3は横向きのハートマーク) Closure(クロージャ)とは、オライリーの書籍「初めてのJavaScript」の解説を借りれば、関数の「入れ子(nesting)」です。(追記、このクロージャじゃなく

    開発者が語る、Google+で使ったJavaScriptテクニック
  • ファイル入出力 (fgets( )!=NULL)

    第17章 ファイル入出力 ファイル入出力関数はキーボードや画面ではなく、ファイルに対して入出力を行います。ファイルは画面出力とは異なり出力結果の保存が可能ですので、覚えておくと何かと重宝します。 尚、ファイル入出力関数を使用するには、#include <stdio.h> する必要があります。 17-1.ファイル操作手順 ファイル入出力は通常、以下の手順で行います。 ファイルポインタとはFILE型へのポインタです。 FILE型では入出力の現在位置(ファイル位置指示子)、ファイルの終端に達したかの情報(ファイル終了指示子)、エラー情報(エラー指示子)、関連するバッファへのポインタなどのファイルの入出力を行う上での必要不可欠な情報を管理しています。 ですから、ファイル入出力を行う際には必ず、このファイルポインタを fopen()によって取得しなければなりません。 また、入出力操作の完了とともに必

  • 『バイナリモード、テキストモードとは?(ファイルのオープンモード)』

    C++ フリーでぷろぐらみんぐ 逆引きリファレンス。 C++のやりたい事から引ける逆引きメモを書いています。 何かコメントなどいただけると嬉しいです! ifstreamのコンストラクタの引数にオープンモードが指定できます。 例: ifstream ifs("D:\\test.txt"); ifstream ifs("D:\\test.txt", ios_base::binary); ・指定なし ⇒ テキストモード ・ios_base::binary ⇒ バイナリモード これって何が違うんでしょうか? 結論から言うと、 テキストモードはOSなどの環境に依存するモードなのです。 そのことをこれから見て行きます。 テキストモードでは、Windowsで言うテキストファイルのような文字列が保存されたファイルを開きます。 もしバイナリファイルをテキストモードで開くと文字化けした意味の無い文字列の塊にな

    『バイナリモード、テキストモードとは?(ファイルのオープンモード)』