WIF2012 の季節が近づいて来たな〜 :)
ウェブデザイン国際フェスティバル開催されるよ〜。
今年も熱い戦いがあるんだろーなー :) Interactive Design International Festival 29th-31st May 2012, Limoges, France
楽しみだ
| 固定リンク | コメント (0) | トラックバック (0)
ウェブデザイン国際フェスティバル開催されるよ〜。
今年も熱い戦いがあるんだろーなー :) Interactive Design International Festival 29th-31st May 2012, Limoges, France
楽しみだ
| 固定リンク | コメント (0) | トラックバック (0)
ず〜〜〜〜っと、追記しようと思ってたんだけど書いてなかったので、徹夜明けで早起きした次いでなんで書いておきます。
もう一年近く前のネタなんだけどね。「shutdown immeidateしない、ほかの理由に遭遇!」
> yoheia-a さんありがとう :)
私か書いた記事がキッカケで調べなきゃいけなくなったらしいんだけどね。 ;)
http://d.hatena.ne.jp/yohei-a/20110627/1309180675
| 固定リンク | コメント (0) | トラックバック (0)
Index Only Accessのいいとこ、紹介しちゃいますの続きです。
前回は、索引しかアクセスしない(Index Only Access)場合と、索引+表データもアクセスしちゃう場合の実行計画上の違いを確認しましたよね。
今回は、Index Only Accessで得られる改善効果の1つであるソート処理の回避について簡単な例で確認してみます。
※VISIBLE/INVISIBLEにしている索引の詳細は前回の記事を参照してくださいね。
Now Playing ♪ - ハイスクールララバイ / イモ欽トリオ - 1981
まず、最初は、悪い子の例から。
索引を全表走査した上で order by seq# でソート処理が実行されます。酷いですね。検索条件列に適切な索引を作れよ〜〜〜っ。という状態ですね。
SQL> alter index tab10_i01 invisible;
索引が変更されました。
SQL> alter index tab10_i02 invisible;
索引が変更されました。
SQL> select seq# from tab10 where non_unique_key = '0000000001' order by seq#;
10行が選択されました。
経過: 00:00:04.99
実行計画
----------------------------------------------------------
Plan hash value: 2100371779
----------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
----------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 10 | 160 | 16788 (1)| 00:03:22 |
| 1 | SORT ORDER BY | | 10 | 160 | 16788 (1)| 00:03:22 |
|* 2 | TABLE ACCESS FULL | TAB10 | 10 | 160 | 16787 (1)| 00:03:22 |
----------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
2 - filter("NON_UNIQUE_KEY"='0000000001')
統計
----------------------------------------------------------
0 recursive calls
0 db block gets
61544 consistent gets
61540 physical reads
0 redo size
655 bytes sent via SQL*Net to client
520 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
1 sorts (memory)
0 sorts (disk)
10 rows processed
| 固定リンク | コメント (0) | トラックバック (0)
さて、OracleさんがAppleさんのOSで楽しいことしてくれないから最近つまんなくなりつつあるので、普通にSQL文のチューニングネタです。
鬼熱かった、鬼熱かった! :: Insight out 2011- DB tech showcaseでもかなり触れていた、Index Only Scan日本ではこの表現が割合的に多いようなのですが、Index Only Accessって言ってましたね、トムカイトさんも。英語では後者のほうが一般的なのかもしれません。ここではIndex Only Accessってことにしておきます。;)
デメリットもあるけど、Index Only Accessのいいとこばかりを中心に、書いちゃうよ〜w
まず、前提から。
TAB10表は以下のように定義してあります。意図的に表データが大きくなるようにしてあります :)
名前 NULL? 型
------------------ -------- --------------
SEQ# NOT NULL NUMBER
NON_UNIQUE_KEY NOT NULL CHAR(10)
DATA VARCHAR2(500)
また、以下のような索引を事前に索引しているが、PK_TAB10という主キー索引以外はINVISIBLEとして作成してある。
INVISIBLEで作成しておくと、索引は通常通りメンテナンスされるが、オプティマイザは実行計画作成時にINVISIBLEな索引を利用しないというOracle11gから登場した便利な機能
また前述の表には以下のような主キー(PK_TAB10)と非ユニークな索引が2つ作成してあります。(あまり良い例ではないですがご勘弁を)
但し、TAB10_I01、TAB10_I02の2索引は、INVISIBLEで作成してあります。効果確認時など便利ですよね。
(不可視索引の詳細はマニュアル「Oracle Database 管理者ガイド 11gリリース1(11.1)不可視索引の作成」を参照のこと。)
INDEX_NAME COLUMN_NAME
------------ -------------------
PK_TAB10 SEQ#
TAB10_I01 NON_UNIQUE_KEY
TAB10_I02 NON_UNIQUE_KEY
SEQ#
検証時の処理時間及び、実行統計は、各クエリを2回実行し2回目の処理時間及び、実行統計を載せてあります。
(2回目の実行前にバッファキャッシュをクリアしてあるので、ソフトパース+キャッシュミスほぼ100%という状況の処理時間及び実行統計情報です。)
テストデータは以下件数で、non_unique_keyは偏りはなく均一に分布させあります。
実際のはなし、均等になることの方が稀ではあると思いますけど、Index Only Accessの効果を見る事ができればそれでOKなので。
COUNT(1)
----------
800000
COUNT(DISTINCTNON_UNIQUE_KEY)
-----------------------------
80000
NON_UNIQUE COUNT(1)
---------- ----------
0000000001 10
0000000002 10
0000000003 10
0000000004 10
0000000005 10
0000000006 10
0000000007 10
0000000008 10
0000000009 10
0000000010 10
0000000011 10
0000000012 10
0000000013 10
0000000014 10
0000000015 10
0000000016 10
0000000017 10
0000000018 10
0000000019 10
0000000020 10
・・・以下略・・・
| 固定リンク | コメント (0) | トラックバック (0)
Dashboard de Aquarium v1.6をリリースしました。前回修正した(つもりだった)Snow Leopard以降で発生する問題点の再修正(単純に修正方法がまずかった)しました。
(Dashboard de Aquarium v1.6 released.
What's new in this version : Fixed bug.)
Download Dashboard De Aquarium v1.6 Now!
Download! v1.6 dashboard_de_aquarium.zip (997KB)
日本語(Japanese):
"Mac OS X 10.4 Tiger以降が必要です。ダウンロードにSafariを使用する場合は、はじめにダウンロードのリンクをクリックしてください。次にダウンロードの完了後、ウィジェットを表示し、プラスボタンをクリックしてウィジェットバーを表示させ、ダウンロードしたウィジェットを追加してください。Safari以外のブラウザを使用する場合は、はじめにダウンロードのリンクをクリックしてください。次にダウンロードの完了後、解凍したウィジェットを /ライブラリ/Widgets/ フォルダに配置してください。ウィジェットを表示し、プラスボタンをクリックしてウィジェットバーを表示させ、ダウンロードしたウィジェットを追加してください。"
English:
"Mac OS X 10.4 Tiger or later is required. If you’re using Safari, click the download link. When the widget download is complete, show Dashboard, click the Plus sign to display the Widget Bar and click the widget’s icon in the Widget Bar to open it. If you’re using a browser other than Safari, click the download link. When the widget download is complete, unarchive it and place it in /Library/Widgets/ in your home folder. show Dashboard, click the Plus sign to display the Widget Bar and click the widget’s icon in the Widget Bar to open it."
| 固定リンク | コメント (0) | トラックバック (0)
明けましておめでとうおめでとうございます。
(毎年同じ画像ですが)

| 固定リンク | コメント (0) | トラックバック (0)
3日前にインフルエンザにかかりやっと復活、インフル寝たきり正月はなんとか回避したがネタがあるような無いような、で、いつもの、画像で締めくくり :)
よいお年をお迎えください。
風邪ひかないようにね

| 固定リンク | コメント (0) | トラックバック (0)
随分前にPL/SQL de Conditional Compile #5ってエントリ書いてたのを思い出して、11g R1/R2用のを見てみたらソースに丁寧なコメント(マニュアルよりいいんじゃね?w )が書かれていてうれしくなった。
オラクルさんとして見せたくない部分は見えないようになっているけど、見せても問題ないところはコードが見える(all_sourceビュー)わけで、それはそれでうれしいわけです。はい。マニュアルが意外に不親切だったりするので。
(マニュアル、良くなりましたよ。昔より。 > 褒めておかないとね、だれとなくw。)...文字サイズも多くしておきましたw
| 固定リンク | コメント (0) | トラックバック (0)
Oracle11g R1のAWRって仕事でも使うこともそれなりにあるわけですが、なんと、いままで気づかなかったAWRレポートのバグみつけ〜ということで(とっくに気づいていた人はいたはずだけど、基本、11g R1だと修正する気はナッシングと思われw)。メモ代わり。
(でも、リリースされてからづ〜〜と気づかなかったということは私はOperating System Statisticsセクションはスルーしてて見てなかったということなんだろーなー多分)
以下、AWRレポートを出力した時間帯のsarの結果、どう見ても暇な状況なわけですよ。
02時33分37秒 CPU %user %nice %system %iowait %steal %idle
02時33分47秒 all 0.29 0.00 0.13 0.14 0.00 99.44
02時33分57秒 all 0.10 0.00 0.08 0.01 0.00 99.81
02時34分07秒 all 0.20 0.00 0.10 0.02 0.00 99.68
02時34分17秒 all 0.04 0.00 0.02 0.08 0.00 99.86
02時34分27秒 all 0.14 0.00 0.03 0.03 0.00 99.80
02時34分37秒 all 0.13 0.00 0.03 0.03 0.00 99.82
02時34分47秒 all 0.14 0.00 0.02 0.01 0.00 99.83
02時34分57秒 all 0.03 0.00 0.01 0.00 0.00 99.97
02時35分07秒 all 0.11 0.00 0.02 0.03 0.00 99.84
02時35分17秒 all 0.08 0.00 0.03 0.01 0.00 99.88
AWRレポートのHost CPUセクションを見るとまあ、そんな感じなわけです。はい。

| 固定リンク | コメント (0) | トラックバック (0)
レンタルするとかケーブルとかオンデマンドで見ればいいかな〜、と思っててまあ、DVD買う事は滅多にないのですが、特定のジャンルだけには反応してコレクションしてるわけです。
VHSしか見かけた事無くてコレクションできてなかったんだけど、再販されとのことでポチっと。ついでにソーシャルネットワークも安くなってたのでポチッと、出すタイミングうまいね。ついポチってしまったw
コレクションが増えた:)
このコレクション見て、あれ?、足りなくね? と思った人、鋭い!
2番煎じ色強くて面白くなかったので ザ・インターネット2 はコレクションしてない(キッパリ!
| 固定リンク | コメント (0) | トラックバック (0)

OSC.DBって随分ご無沙汰してたと思ったら、前回参加したOSC.DBは、2007年でしたか。息子ちゃんが生まれた年です:)
OSC.DBも2008年以来、久々に開催でしたし、久々にお会いできた方々もいて :) でした。
全てのセッションには参加できなかったので、午前中だけ。
参加したセッションは
とOSC.DBではおなじみのユーザ(ー)会のセッションでした。
PostgreSQL 9.1 は Insight outで聞けなかったところ?を駆け足で聴いた感じ。
(9.1からサポートされたIndes only scanはOracleでもよく使うチューニング方法ですね。あとは、カスケードレプリケーションとか、pg_basebackup関連とか)
MySQLは、MySQL5.6の話とストレージエンジンである groongaストレージエンジン関連をこれまた駆け足で。
(InnoDBオプティマイザ統計情報の永続化、デッドロックをエラーログに出力とか、groongaストレージエンジンには、Spiderエンジンの斯波さんも関わっているとか、MariaDBにバンドルされることになったとか、http://labs.mysql.com/ とか)
30分ぐらいだとどうしても駆け足になってしまいますよね。皆さん早口ですよね。
(いままでで一番高速な語りは、大規模Web サイトでのMySQL導入方法および事例紹介」セミナーの松信さんだったように思います。速すぎて日本語聞き取れねーと思ったのは人生初。おおげさかw)
お腹が減ってきたランチ前のセッションは、Firebird日本ユーザー会。ユーザーなんですよユーザじゃなくて。
木村さんと、林さんの軽快なトークが炸裂(アドリブだったらしいw) したFirefoxじゃなくてFirebirdの話。
(ブラジルではFirebird関連イベントで800人ぐらい軽く集まるらしい。すげー)
そして、ほぼパーフェクトな記録発見。 Thx (やっぱ、iPhoneだけだとメモれないというかつぶやききれないw のだ)
http://emasaka.blog65.fc2.com/blog-entry-952.html
| 固定リンク | コメント (0) | トラックバック (0)
書くのおそくなっちゃいました m(_ _)m
10月19日〜21日に開催されたInsight out 2011- DB tech showcase
に、つまみ食いながらなんとか参加し、インサイトテクノロジーさんの鬼熱い魂を感じてきた :)
無理矢理空き時間作って参加したセッションは以下の通り。
MySQLとかPostgreSQLとかOSSなのはOSCとかでも聴けるかなーと思いきづいたらOracle中心だったw
Effective Indexing/Developer and Indexes というセッションは予想以上だった、Indexを理解してるのって重要だよなーと改めて感じたセッションだった。
Tom Kyteさんが紹介していた書籍、「Relational Database Index Design and the Optimizers」
鬼熱い語りの山下さんのセッション、前回のOOWのUnconferenceの続編か?と思わせるような諸橋さんのセッション、つい引き込まれちゃいましたよ:)
参加者やスピーカが鬼熱いエンジニアであることは間違いないが、何と言っても、世界中からデータベースに関わる凄い方々を集めてしまうインサイトテクノロジーさんが一番、鬼熱いんじゃないかと感じた3日間だった。
来年も開催して頂きたいイベントだ。

| 固定リンク | コメント (0) | トラックバック (0)
さて、この実習セミナー、回を重ねて3回目です。パチパチ。:)
今回のお題は、
「社内システムにおいて、「2010年1月10日 23:21~1月11日 0:15」に、業務遅延(障害)が発生しました。該当時間帯のDB稼動状況を確認し、遅延の原因調査を行って下さい」
というものでした。
「iPhoneの予約が殺到したんでしょうかね?。。。」と、かってに予想してましたw (違うらしいですw)

| 固定リンク | コメント (0) | トラックバック (0)
最近のコメント