2012年2月28日火曜日

青裳堂・書誌学月報の値段

以前、青裳堂の書誌学月報の1号より58号まで5万で出品されていて落札した直後、早稲田の五十嵐が1号より59号まで2万円で出していたので頭にきてこれも買い今2セット持っている。冷静に考えると五十嵐の値段が極端に安かったんではないか?五十嵐のは雲英末雄の旧蔵本で他の本で元取っているので安く出してくれたのかも。


雲英先生の蔵書印(他の本に押されていたもの)

吉原細見(嘉永七年)

以前名雲書店の目録で袋だけ買っていた嘉永七年の吉原細見。
ようやくYahooオクに出てきたので落札、26600円。
袋とあわせて6万位かかったが、この値段は仕方のない所。
少ない、少ないと言われる細見の袋だが、目録にはコンスタントに
現われる。昨年も一誠堂の目録にも袋付きが5万位で出ていた。ただ、人気
があるので熊本から注文しても既に売り切ればかり。

嘉永七年春は日本書誌学大系の「吉原細見年表」にも袋の情報が載っていないので
ちょっと自慢できるかも。





2012年2月26日日曜日

部屋に入る前から

久しぶりに新宿に泊まった。41階でエレベータが開いた瞬間から、
部屋にいるまでの雰囲気が好き。






受付の人とかニューヨークグリルのコックさんとか、結構変わるのが
早いけどホテルの雰囲気は変わらないね。


1人でカウンター席の隅で食べていると色々話かけてくれたニューヨーク
グリルのコック長さんはオーストラリアに自分の店を持ちましたと手紙くれ
たが、まだ行ってない。病気が治って海外に行けるようになったら行って
みたいもんだ。

2012年2月23日木曜日

京都へ(3月24日・25日)

3月23日~25日に京都市勧業館みやこめっせで開催される
国際稀覯本フェアを見に京都へ。
昨日届いた目録には
嵯峨本徒然草 5040万
「月濃桂」十辺舎一九直筆草稿 360万
ピーターラビット 1902年    110万
とか凄い本のオンパレード。

目録のPDFはABAJのホームページで公開中
http://www.abaj.gr.jp/



古書展以外で行きたいところ
アンリ・ル・シダネル展 美術館「えき」KYOTO
 埼玉を見逃しているのでこちらで。

種子のデザイン‐旅するかたち‐ 展 INAX

スタンダードブックストア@心斎橋 
面白い本屋さん。やはり新刊屋は店員さんが勉強してないと駄目ね。

リッツカールトン大阪の天麩羅屋さん
 (予約できた。久しぶりなので楽しみ)

3月の上京


THE PHOTO / BOOKS HUB TOKYOのページがついに更新され、
今年も3月31日・4月1日表参道ヒルズで開催されるようなので
これにあわせて上京予定。もちろんART FAIRも楽しみ

2012年2月12日日曜日

カルバドス入りチョコ


All Aboutの「バレンタインに贈りたいチョコレートランキング」という記事。

1位が「ジャン=ポール・エヴァン」、2位が「ピエール マルコリーニ」3位「ゴディバ」
と極普通のランキングだったが、番外編に色々個性的な奴が並んでいて面白い。
特に60代の女性の方が留学中の思い出としてあげた「カルバドス入りチョコ」。
フランス留学中、地場のショコラティエで買った物だと思うが、こんなのは現地に
住んだことがないと食べれない品。ウィスキーボンボンみたいなもんだろうとは思うが
一度食べてみたいもの。

4月以降の仕事探してます(何かあればぜひ)

3月末でお世話になっている会社を辞めるので、4月以降の
仕事を探しているところ。何かあれば真面目にやりますので
お気軽に連絡を。

①Oracleのデータベースだったら少し判ります。
②運転免許は持っていますが、運転したことはありません。
③左の耳が全く聞こえませんので、気づかない時は叩いて
くれると反応します。

仕事見つからなかったら、Ver6からずっとOracleだけだった
んでSenseiDBとか毛色の違うDBでも触って遊んでいるつもり。

2012年2月9日木曜日

遊色妹背種

北尾重政の艶本から。艶本も文化センターの画像DBが公開されて有り難味は薄れたが綺麗な本だとほしくなる。これも阪急古書のまちで見てすぐ買ってしまった。



問合せの変換(Query Transformation)


新人研修のネタ。その1

はじめに
コストベース・ルールベースの違いについて聞かれると、統計情報を使って
実行計画を決めるか、決まったルールによって実行計画を決めるかの違いと
答えてしまいますが、実際はもう少し複雑でコストベースのオプティマイザ
にはルールベースの頃には無かったQuery Transformationという機能が追加
されており統計情報を元に受け取ったSQLの冗長な部分をけずったり置き換え
たりする最適化の機能が追加されています。


1.Query Transformationの中身
 Query Transformationは幾つかの機能に分かれており、Oracle11gだと下記の
 通り。(全てではありません。他にも公開・未公開含め幾つかあるはず)
  Aggregate Subquery Elimination
  Common subexpression elimination
  Complex View Merging
  Filter predicate push-down in a view
  Group by placement
  Intersect conversion into join
  Join Elimination
  Join predicate push down (JPPD)
  Materialized view rewrite
  Minus conversion into anti-join
  Native Full Outer Join
  OR expansion
  Order by Elimination
  Outer to inner join conversion
  Predicate move-around
  Star transformation
  Subquery unnesting
    IN / EXISTS -> SEMI JOIN
    NOT IN / NOT EXISTS -> ANTI JOIN
    Null-Aware and Single Null-Aware ANTI JOIN
  Transitive Predicates

  上記のそれぞれの機能のうち幾つかは、インターネット上の資料や
  研修資料で公開されています。(インターネット上でCost Based  Query
  TransformationやCBQTで検索してください。Oracleの研修だと
「SQL チューニングワークショップ」に概要説明が入っています)

ここでは判りやすいやつ1点
OR expansion
   SELECT *
       FROM emp
      WHERE job = 'CLERK' OR deptno = 10;
     のようなSQLがあり、jobとdeptnoにそれぞれINDEXがついている場合、
     下記のように置き換えることがあります。(かならずという訳ではなく
     統計情報等使って判定)

   SELECT *
       FROM emp
      WHERE job = 'CLERK'
      UNION ALL
     SELECT *
        FROM emp
       WHERE deptno = 10 OR job <> 'CLERK' ;

2.最適化の無効化
話を聞くと便利そうなQuery Transformationですが、複雑でより過激に
進化している機能の為不具合が多く、この為か当機能を無効化する
非公開の初期化パラメータが用意されています。

_optimizer_cost_based_transformation
Query Transformation全部の機能のON,OFF
これをOFFにすると上記全てがOFFになる為、稼動後サポートから不具合
対応で設定変更を勧められても無理。

個別の機能についてもそれぞれ、ON、OFFが可能になるパラメータが用意
されていると思われますが、まとまった形では公開されていません。
個別の不具合対応で一つづつ調べている状況。
(おそらく、サポートの[1274553.1]に上げられているパラメータ全て
調べれば判ると思います)

    Order by Elimination
      _optimizer_order_by_elimination_enabled
    Optimizer Join Push Predicate
      _optimizer_multi_level_push_pred
    Group by placement
      _optimizer_group_by_placement



参考資料

Oracleのオプティマイザが問い合わせ処理を最適化する方法~ソースコードを書いている
エンジニアが語る

1. 問合せの変換(Query Transformation)の部分
これ読んでもらえれば気づくと思いますが、各機能の名前は資料によって
微妙に異なります。

Cost Based Query Transformations by Riyaj Shamsudeen
  インターネットの各サイトに出回っているRiyaj Shamsudeenの講演資料。

Optimizer Cost Based Query Transformation [ID 1082127.1]
サポートのページ

Dion Cho氏のページ
Query Transformation関連の記事有り。(韓国の方が書かれた日本語なので読みにくい所
はありますが、日本語で書かれた記事として貴重。)


ablog
  http://d.hatena.ne.jp/yohei-a/20110224/1298529324
    Vew Mergingの例示。 10053のログで結果の説明をされているのでわかりやすい。

Oracle10g Cost Base Optimizerにまつわる検証
  http://www.insight-tec.com/mailmagazine/ora3/vol228.html
  Insight Technologyさんの「おら! オラ! Oracle どっぷり検証生活」。10gの頃。


2012年2月8日水曜日

ショコラ届いた


伊勢丹からショコラが届いた。もちろん自分で買ったもの。
"Philippe Rigollot", "UN DIMANCHE A PARIS"とも新店の部類で
期待していたんだが、どちらもどっかで食べたことのある味でちょっと
残念。

伊勢丹の「サロン・デュ・ショコラ」も今年で10回目とか。いろいろ
批判も聞くが、フランスを中心としたショコラを日本に根付かせた
功績は大きいと思う。アンリ・ルルーやフランソワ・プラリュが1年中
日本で買えるようになるとか10年前には夢にも思っていなかった。
これからもがんばってもらいたいもんだ。


2012年2月1日水曜日

PL/SQL Package内の 「PRIVATE」 キーワード


Oracle のPackage作成時、TAGとして使えていた「PRIVATE」というキーワード
11g R2だとエラーになるようになったんだね。

CREATE OR REPLACE PACKAGE HOGEHOGE AS
  PRIVATE FUNCTION ISNUMERIC ( ACCT in varchar2) return number;
          FUNCTION ISNUMERIC2 ( ACCT in varchar2) return number;
END HOGEHOGE;
/

10.2.0.4だと正常終了
11.2.0.2, 11.2.0.3だとコンパイルエラー
-------- -----------------------------------------------------------------
2/20     PLS-00103: 記号"ISNUMERIC"が見つかりました。
        次のうちの1つが入るとき:
        := . ( @ % ; not null range default character
        記号":=" は続行のために"ISNUMERIC"に代わりました。

2/40     PLS-00103: 記号"VARCHAR2"が見つかりました。
        次のうちの1つが入るとき:
        (

4/1      PLS-00103: 記号"END"が見つかりました。 次のうちの1つが入るとき:
        begin function pragma procedure subtype type <an identifier>

LINE/COL ERROR
-------- -----------------------------------------------------------------
        <a double-quoted delimited-identifier> current cursor delete
        exists prior

もともと使えるのがイレギュラーだったんだけど、使えなくなるのはちょっと不便