タグ

2016年10月18日のブックマーク (3件)

  • 同じ問合せブロックが複数出現するときは with 句 使えばいいのでは - 理系学生日記

    1 つの SQL に同じ問い合わせブロックが何度も何度も出現するときは、それを出現回数分 DBMS に検索させるのマジでムダだしパフォーマンス悪くなるから、with 文で一時的なビューを作るようにした方がいいです。 以下は、Oracle の公式ドキュメントに記載されてる例ですけど、channel_summary っていうビューを一時的に作ってやって、それを 2 箇所で参照してます。with を使わないと、2 回当該の問い合わせブロックの実行が必要になってしまいますね。 この例みたく集計とか絡むと遅くなりがちだし、sales、channels テーブルがクソみたいに巨大でキャッシュに乗らないと、一々 Disk I/O 発生して遅延デカくなってストレスで死ぬ*1。 WITH channel_summary AS ( SELECT channels.channel_desc, SUM(amoun

    同じ問合せブロックが複数出現するときは with 句 使えばいいのでは - 理系学生日記
  • 経済指標の見方・使い方<H17.4>

    1 はじめに 今月は、ジニ係数とローレンツ曲線について解説します。ジニ係数やローレンツ曲線は、経済活動の成果である国全体の所得が各世帯にどのように分配されているのかを調べるときに、最もよく用いられる指標です。 近年、人口構成の高齢化や雇用形態の変化、核家族化の進行などに伴い、世帯間の所得格差が増加しつつあることが報告されています。昨年6月、厚生労働省は、再分配を行なう前の所得(当初所得)の格差をジニ係数で測って、これが、調査開始以来、最も高い(所得格差が大きい)値を示していることを明らかにしました1)。また、京都大学の橘木教授はジニ係数の国際比較から、一般的な予想に反して日の所得分配は国際的にみて必ずしも平等ではないことを指摘しています2)。 以下では、これらの分析で用いられているジニ係数やローレンツ曲線の意味と、これによって所得格差を測ることの経済学的な根拠についてお話しいたします。

  • 再帰SQL — Let's Postgres

    NTT オープンソースソフトウェアセンタ 板垣 貴裕 共通表式 WITH 句と再帰SQL (WITH RECURSIVE) は PostgreSQL 8.4 の新機能です。WITH と WITH RECURSIVE それぞれの説明と、実際の利用例として再帰クエリを使ったロック競合解析の方法を解説します。 共通表式 WITH 句 あるクエリの中で他のクエリの結果を使う方法には、既にサブクエリがあります。WITH 句は、サブクエリの結果に名前をつけ、クエリの複数の箇所からその結果を参照するための構文です。そのクエリの中だけで使用できる一時表 (TEMP TABLE) を作るのに近い動作になります。 利用例としては、あるサブクエリの結果を複数の列と比較する場合が挙げられます。例えば以下のように、表 keyword_list から取得した結果を、表 document の keyword1, key