「システム基盤構築のプロフェッショナル」レック・テクノロジー・コンサルティングJapanese | English

レック・テクノロジー・コンサルティング株式会社

技術ブログ

HOME > 技術ブログ > 月別アーカイブ: 2012年8月

月別アーカイブ: 2012年8月

New York 出張 3日目の話② ~自由の女神~

自由の女神発見!

Statue of Liberty

【MAP】
http://goo.gl/maps/zZjGA

バッテリー公園からフェリーに乗っていきます。

おー、来たかー、と思いながら、ちょっと引きの図↓

Statue of Liberty

んーーー、やたら並んでるぞー!

これはハンパない。ディズニーのスプラッシュマウンテン並です。
ファストパスが無いと乗れません。

我々3人は全員B型なので、並ぶという概念はありません。

そして、それが当然であるかのごとくスルー!

せっかく来たけどタクシーをゲット!

Wall Streetも見ようかと言ってたけど、タクシーに乗ったままスルー!

そしてブルックリン橋マンハッタン橋の間(たぶん)をスルー!

Brooklyn Bridge

そば食い行こー

 

【長めのメモ】

New YorkにはDuane Reade(デュアンリード)というドラッグストアがたくさんあります。
(マツキヨみたいなもんですかね)

気持ち悪かったので胃薬でも買ってみようかと思い、

「Where is stomach medicine?」

と聞いたら

「Three」

という答えが返ってきました。

はぁ??

と思っていたら、通路にぶら下がっている列の番号のことでした。

通路しか教えてくれへんのかい!

しかも「Three」の列にはいっぱい薬あるし・・・

日本の接客は世界一だなと改めて思いました。

 

【New York 出張編】
New York 出張 初日の話①
New York 出張 初日の話②
New York 出張 初日の話③
New York 出張 初日の話④
New York 出張 初日の話⑤
New York 出張 2日目の話①
New York 出張 2日目の話②
New York 出張 3日目の話①
New York 出張 3日目の話②
New York 出張 3日目の話③
New York 出張 3日目の話④
New York 出張 3日目の話⑤
New York 出張 3日目の話⑥
New York 出張 3日目の話⑦
New York 出張 最終日の話

New York 出張 3日目の話② ~自由の女神~

集計に便利なROLLUP関数

はじめまして。Re:Qの入江です。

数ヶ月前にOracleの構築案件に携わったのですが、その使用目的がデータウェアハウスのデータマイニング用でした。データマイニングとは?という状態だったこともあり、好奇心からデータウェアハウスおよびデータマイニングについて色々調べてみました。
今日はそのとき見つけた、ちょっとした小技?小ネタ?を紹介したいと思います。

調べていくと、Oracleのマニュアル「Databaseデータ・ウェアハウス・ガイド 11gリリース2(11.2) B56309-03」のROLLUP(GROUP BYの拡張)という関数に目がとまりました。

ROLLUP関数...皆さん、ご存知ですか?

比較的よく使用していたGROUP BYの拡張という言葉にひきつけられ調べてみた結果、ROLLUP関数って便利だな~と感じましたので、DBAの観点からその良さをお伝えします。

ROLLUP関数

 
---------------------------------------------------------------------------
使い方:
  SELECT文のGROUP BY句に追加

用途:
  ①総計(合計)を取得
  ②小計を複数のレベルで取得

---------------------------------------------------------------------------

以下、例を使って説明します。

用途①:総計(合計)を取得

例1)表領域毎のデータファイルサイズ+全てのデータファイルサイズの合計を調べたい  
  (※TEMP表領域を除く)

・ROLLUP関数を使わない場合だと・・・

SQL> SELECT tablespace_name,SUM(bytes)/1024/1024 mb FROM dba_data_files
  2  GROUP BY tablespace_name;
TABLESPACE         MB
---------- ----------
SYSAUX            600
UNDOTBS1          505
USERS               5
SYSTEM            710
SQL> SELECT SUM(bytes)/1024/1024 mb FROM dba_data_files;
      MB
--------
    1820
の2つのSQLになります。
(結合して1つのSQLにも可能ですが、文が長くなります。)

そこで、ROLLUP関数を使用すると・・・

SQL> SELECT tablespace_name,SUM(bytes)/1024/1024 mb FROM dba_data_files
  2  GROUP BY ROLLUP(tablespace_name);
TABLESPACE         MB
---------- ----------
SYSAUX            600
SYSTEM            710
UNDOTBS1          505
USERS               5
                 1820 ★合計値
上記★にて、tablespace_name列がNullのレコードに合計値が出ていることに気付いたでしょうか。
ROLLUPを使用することにより、プラスアルファで同時に総計(合計)を取得できるのです。

 

用途②:小計を複数のレベルで取得

例2)スキーマ毎、オブジェクトタイプ毎の数を確認し集計したい
  (※SYSTEM、SYSMANスキーマに限定)

SQL> SELECT owner,object_type,COUNT(*) FROM dba_objects
  2  WHERE owner in ('SYSTEM','SYSMAN')
  3  GROUP BY ROLLUP(owner,object_type);
OWNER          OBJECT_TYPE                                COUNT(*)
-------------- ---------------------------------------- ----------
SYSMAN         LOB                                              75
SYSMAN         TYPE                                            672
SYSMAN         VIEW                                            471
SYSMAN         INDEX                                          1028
SYSMAN         QUEUE                                            12
SYSMAN         TABLE                                           729
SYSMAN         PACKAGE                                         193
SYSMAN         TRIGGER                                          97
SYSMAN         FUNCTION                                         12
SYSMAN         RULE SET                                          4
SYSMAN         SEQUENCE                                         13
SYSMAN         PROCEDURE                                         3
SYSMAN         TYPE BODY                                        49
SYSMAN         PACKAGE BODY                                    193
SYSMAN         MATERIALIZED VIEW                                 1
SYSMAN         EVALUATION CONTEXT                                2
SYSMAN                                                        3554 ★1
SYSTEM         LOB                                              25
SYSTEM         TYPE                                              1
SYSTEM         VIEW                                             14
SYSTEM         INDEX                                           241
SYSTEM         QUEUE                                             4
SYSTEM         TABLE                                           161
SYSTEM         PACKAGE                                           1
SYSTEM         SYNONYM                                           8
SYSTEM         TRIGGER                                           2
SYSTEM         SEQUENCE                                         20
SYSTEM         PROCEDURE                                         1
SYSTEM         PACKAGE BODY                                      1
SYSTEM         INDEX PARTITION                                  52
SYSTEM         TABLE PARTITION                                  39
SYSTEM                                                         570 ★2
                                                              4124 ★3
★1:SYSMANのオブジェクト小計
★2:SYSTEMのオブジェクト小計
★3:SYSTEM、SYSMANスキーマのオブジェクト総計

と小計と総計が取得できたことをお分かりいただけたでしょうか。

例1と2のように、サクッとSQLを実行して、小計や総計も取得して調べたい時、ROLLUP関数を知っておくと便利です。DBAの方も集計を必要な時、ROLLUP関数の使用を検討してみてはいかがでしょうか。

Oracleには隠れた機能がいっぱいあります(むろん知っている人は知っていますが)。
そんなちょっとした機能、小技のノウハウを少しでも紹介していき、活用頂ければ幸いです。

集計に便利なROLLUP関数

New York 出張 3日目の話① ~Ground Zero~

【スタート】

・・・ガタガタガタガタ・・・

・・・気持ちわりぃ・・・

・・・どこなんだ、ここは・・・

とにかく揺れてる・・・

吐きそうだ・・・

記憶を戻してみよう。

 

3日目の朝、というか2日目の夜、ホテルに戻ったのは朝の5:30(29:30)くらいでした(!?)。

なぜか翌日8時にロビー集合ということになり、8:59くらいに電話で起こされました。(むりだって)

もう既に朝食へ行っているようです。

我々3人は全員B型なので、人を待つという概念はありません。

完全に各々のタイミングでEuropa Cafe へ。

【MAP】
http://goo.gl/maps/SXxho

さすがです。上司は胃薬を飲んでいます。
私にはその想定がありませんでした。
まだまだ精進が足りません。

さて、微妙に気持ち悪いまま、これからGround Zero へ向かいます。

初のNew York地下鉄へ。

ちょっとだけ寝よう・・・

※【スタート】へ戻る

 

着きました。

【MAP】
http://goo.gl/maps/lStGS

 Ground Zero付近

もはや何がどこにあったのか、とか原型がまるで分かりませんが・・・着実に復興は進んでいるようです。

ちょっと歩いて行くと何やらメモリアルホール的なところに入れるようです。

ただ、ものすごい行列が・・・(写真ではよく分かりませんが)

Ground Zero付近

相当並んでいます。

やむを得ず、スルー。

そして、このまま自由の女神を見に行きます!

 

続く

 

【New York 出張編】
New York 出張 初日の話①
New York 出張 初日の話②
New York 出張 初日の話③
New York 出張 初日の話④
New York 出張 初日の話⑤
New York 出張 2日目の話①
New York 出張 2日目の話②
New York 出張 3日目の話①
New York 出張 3日目の話②
New York 出張 3日目の話③
New York 出張 3日目の話④
New York 出張 3日目の話⑤
New York 出張 3日目の話⑥
New York 出張 3日目の話⑦
New York 出張 最終日の話

New York 出張 3日目の話① ~Ground Zero~

New York 出張 2日目の話②

さて、プラザホテルを過ぎて歩いて行くと、銀座のごとくブランド店が密集しているところに出ました。

5th Avenue(5番街)はブランド街でもあるのです。

お土産を買おうということで、途中Tiffanyに立ち寄りました。

【MAP】
http://goo.gl/maps/zFZX8

そこで、Tiffanyのシルバー系のアクセサリーは意外とリーズナブルだという、この旅一番の情報を上司から得ました。
その場で何か買おうかとも思いましたが、値札は隠ぺいされています・・・

全部「How much?」って聞くのか・・・

また出直してゆっくり選ぶことにしました。

それからよくわからない雑貨屋やディズニーストアに行き諸々のお土産等を買いました。

 

せっかくNew Yorkに来たので、昼はハンバーガーだ!

ということでハンバーガーを食べに行きました。

とにかくデカいという噂は聞いていましたが、本当に食べきれませんでした。。

にわかには信じがたいのですが、ハンバーガーを食べきれないのは恐らく生まれて初めてかもしれません。

上司はサラダについているドレッシングの皿をスープと間違えて飲んでしまいました!?
それくらい皿が大きかったということです。

アメリカの肥満率は35%・・・そりゃそうだ。

そんなこともあったり、健康志向の高まりもあったりしてか、シリコンバレーでは日本のお茶がバカ売れしているようですね。

たくさん食って、たくさんお茶を飲む。
Central Parkには走っている人もたくさんいました。

食うのを減らせばいいじゃん、ってのは当たり前の日本人的感覚ですが、そうではないところにアメリカがGDP世界一である理由であったりもします。

それと、見えないGDP「チップ」。

上記のハンバーガー屋でもチップを支払っていました。

経済の活性化につながっていることは間違いありません。

日本もチップ制を取り入れたらいいかも(個人的見解)。

 

さてさて、これからはお仕事です。
Re:Q Technology Consulting U.S. 設立??  We've Landed in N.Y.

グランド・セントラルターミナル集合。

【MAP】
http://goo.gl/maps/AbNK3

途中、4th Avenueが無いのに気付きました。

東から、

3th Avenue
Lexington Avenue
Park Avenue
Madison Avenue
5th Avenue

となっています。

地図で見ると途中までは4th Avenueがあります。
南の14th Street辺り。

なんでかは分かりませんが。

 

2日目編 完

 

【New York 出張編】
New York 出張 初日の話①
New York 出張 初日の話②
New York 出張 初日の話③
New York 出張 初日の話④
New York 出張 初日の話⑤
New York 出張 2日目の話①
New York 出張 2日目の話②
New York 出張 3日目の話①
New York 出張 3日目の話②
New York 出張 3日目の話③
New York 出張 3日目の話④
New York 出張 3日目の話⑤
New York 出張 3日目の話⑥
New York 出張 3日目の話⑦
New York 出張 最終日の話

New York 出張 2日目の話②
資料請求・お問い合わせはこちら

▲ ページトップに戻る

技術ブログ

2012年8月
« 7月   9月 »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
採用に関するお問い合わせはこちら