シンプル・イズ・ベスト~デフォルト機能を使い倒せ!~

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Event

    シンプル・イズ・ベスト~デフォルト機能を使い倒せ!~ - Presentation Transcript

    1. Oracle Unconference シンプル・イズ・ベスト ~デフォルト機能を使い倒せ!~ 株式会社 コーソル 1 Copyright (C) 2009 CO-Sol Inc. All Rights Reserved
    2. Oracle Unconference Ⅰ. 松下雅@コーソルって誰? Ⅱ. システムの構成を考えよう Ⅲ. 極力、シンプルなコードを Ⅳ. デフォルトの設定って? Ⅴ. Question & Answer 2 Copyright (C) 2009 CO-Sol Inc. All Rights Reserved
    3. Oracle Unconference Ⅰ. 松下雅@コーソルって誰? Ⅱ. システムの構成を考えよう Ⅲ. 極力、シンプルなコードを Ⅳ. デフォルトの設定って? Ⅴ. Question & Answer 3 Copyright (C) 2009 CO-Sol Inc. All Rights Reserved
    4. Ⅰ.松下雅@コーソルって誰? 株式会社コーソル所属の技術屋 Oracle Supportとインフラが強み Oracle Master所有率 96% 社員79名(2009/1/20現在) 色々やらせていただいてます @ITへの寄稿 書籍執筆 4 Copyright (C) 2009 CO-Sol Inc. All Rights Reserved
    5. Oracle Unconference Ⅰ. 松下雅@コーソルって誰? Ⅱ. システムの構成を考えよう Ⅲ. 極力、シンプルなコードを Ⅳ. デフォルトの設定って? Ⅴ. Question & Answer 5 Copyright (C) 2009 CO-Sol Inc. All Rights Reserved
    6. Ⅱ. システムの構成を考えよう ここで言いたいことは・・・ ち さ ち しょ ん う ※ 地域生産地域消費(ちいきせいさん・ちいきしょうひ) の略語。地域で生産された農産物や水産物をその地域 で消費すること。by Wikipedia 6 Copyright (C) 2009 CO-Sol Inc. All Rights Reserved
    7. Ⅱ. システムの構成を考えよう 極々一般的な構成 DB Serv. AP Serv. User データを貯めて アプリを実行 おくサーバ するサーバ 7 Copyright (C) 2009 CO-Sol Inc. All Rights Reserved
    8. Ⅱ. システムの構成を考えよう この構成のリソースは・・・? DB Serv. AP Serv. Network 8 Copyright (C) 2009 CO-Sol Inc. All Rights Reserved
    9. Ⅱ. システムの構成を考えよう 100万件のテーブルから10件を検索する場合 仮に、AP Serv.でレコードを絞ろうとしたら・・・? DB Serv.-AP Serv.間に、 100万件のデータが流れる DB Serv. AP Serv. 9 Copyright (C) 2009 CO-Sol Inc. All Rights Reserved
    10. Ⅱ. システムの構成を考えよう 100万件のテーブルから10件を検索する場合 では、DB Serv.でレコードを絞ったら・・・? DB Serv.-AP Serv.間に 10件のデータが流れる DB Serv. AP Serv. 10 Copyright (C) 2009 CO-Sol Inc. All Rights Reserved
    11. Ⅱ. システムの構成を考えよう これは、SQLの ≪選択≫≪射影≫≪結合≫ 全てにあてはまります。 ≪選択≫ → 抽出条件は適切ですか? WHERE句、HAVING句 ≪射影≫ → 必要なカラムに絞ったSQLですか? SELECT * → AP Serv.で絞っていませんか? ≪結合≫ → 発行している複数のSQL文、 まとめることはできませんか? 11 Copyright (C) 2009 CO-Sol Inc. All Rights Reserved
    12. Ⅱ. システムの構成を考えよう アプリケーションを実行するサーバは AP Serv. に間違いありません。が、そこで使用(表示)する データの抽出は、DB Serv. で絞りこむと大分エ コになります。 DB Serv. AP Serv. 12 Copyright (C) 2009 CO-Sol Inc. All Rights Reserved
    13. Oracle Unconference Ⅰ. 松下雅@コーソルって誰? Ⅱ. システムの構成を考えよう Ⅲ. 極力、シンプルなコードを Ⅳ. デフォルトの設定って? Ⅴ. Question & Answer 13 Copyright (C) 2009 CO-Sol Inc. All Rights Reserved
    14. Ⅲ. 極力、シンプルなコードを ここで言いたいことは・・・ お こ ち しん ん ※ 故きを温ねて新しきを知れば、以って師と為るべし。 by 語源由来辞典 14 Copyright (C) 2009 CO-Sol Inc. All Rights Reserved
    15. Ⅲ. 極力、シンプルなコードを cat <ファイル名> | sort | uniq cat <ファイル名> | sort -u sort -u <ファイル名> 15 Copyright (C) 2009 CO-Sol Inc. All Rights Reserved
    16. Ⅲ. 極力、シンプルなコードを パイプ、コマンドの動き cat <ファイル名> | sort -u プロセスA プロセスB プロセスAとプロセスBは並行稼動 16 Copyright (C) 2009 CO-Sol Inc. All Rights Reserved
    17. Ⅲ. 極力、シンプルなコードを find . -maxdepth 1 -mtime +200 –exec rm {} ¥; find . -maxdepth 1 -mtime +200 | xargs rm find . -maxdepth 1 -mtime +200 –exec rm {} + 17 Copyright (C) 2009 CO-Sol Inc. All Rights Reserved
    18. Ⅲ. 極力、シンプルなコードを find -exec、xargsの動き 見つけたファイルに対し、1行ずつ find -exec ¥; 実行。複数回、同一のコマンドが実 行される。 rm rm rm rm rm rm rm rm rm 18 Copyright (C) 2009 CO-Sol Inc. All Rights Reserved
    19. Ⅲ. 極力、シンプルなコードを find -exec、xargsの動き xargs 標準入力で渡されたリテラルを、 引数の限界(ARG_MAX)まで1つの find -exec + オプションとして実行。同一のコマンド が、まとめて実行される。 rm rm 19 Copyright (C) 2009 CO-Sol Inc. All Rights Reserved
    20. Ⅲ. 極力、シンプルなコードを 補足 『find -exec +』 は、語尾が 『{} +』 で終わる必要があります。 (『ls』 や 『rm』 では使えるが、『mv』 や 『cp』 では使えない) ○ find . -maxdepth 1 -mtime +200 -exec rm {} + × find . -maxdepth 1 -mtime +200 -exec mv {} backup + この先は、各コマンド(環境)依存です。※汎用的には厳しい。 (『mv』 や 『cp』 では、--target-directoryでクリア) ○ find . -maxdepth 1 -mtime +200 –exec mv --target-directory=backup {} + ※BSD find . -maxdepth 1 -mtime +200 | xargs -J mv {} backup 20 Copyright (C) 2009 CO-Sol Inc. All Rights Reserved
    21. Ⅲ. 極力、シンプルなコードを set timing on declare cursor c1 is select id,age from tbl_daityo; r1 tbl_daityo%rowtype; update tbl_daityo set kouza=kouza + 20000 where age > 64 or age < 19; begin update tbl_daityo set kouza=kouza + 12000 for r1 in c1 loop where age > 18 and age < 65; if r1.age > 64 or r1.age < 19 then update tbl_daityo set kouza = kouza + 20000 where id = r1.id; else update tbl_daityo set kouza = kouza + 12000 where id = r1.id; end if; update tbl_daityo end loop; set kouza=(case when age > 64 or age < 19 then kouza + 20000 commit; else kouza + 12000 end; end); 21 / Copyright (C) 2009 CO-Sol Inc. All Rights Reserved
    22. Ⅲ. 極力、シンプルなコードを PL/SQLエンジン、SQLエンジン declare cursor c1 is select id,age from tbl_daityo; r1 tbl_daityo%rowtype; begin SQL for r1 in c1 loop エンジン if r1.age > 64 or r1.age < 19 then update tbl_daityo set kouza = kouza + 20000 where id = r1.id; else update tbl_daityo set kouza = kouza + 12000 where id = r1.id; PL/SQL end if; エンジン end loop; commit; end; 22 Copyright (C) 2009 CO-Sol Inc. All Rights Reserved
    23. Ⅲ. 極力、シンプルなコードを チューニング案件でよく聞く言葉 「SQL を見せてください」 「インデックスは有効ですか?」 「実行計画に問題はないですか?」 「アナライズは最新ですか?」 declare cursor c1 is select id,age from tbl_daityo; r1 tbl_daityo%rowtype; begin for r1 in c1 loop if r1.age > 64 or r1.age < 19 then update tbl_daityo set kouza = kouza + 20000 where id = r1.id; これ else update tbl_daityo set kouza = kouza + 12000 where id = r1.id; end if; end loop; commit; end; 23 Copyright (C) 2009 CO-Sol Inc. All Rights Reserved
    24. Ⅲ. 極力、シンプルなコードを 是非、これも聞いて欲しい 「SQL は、どこからKickされますか?」 「トランザクション・フローを教えてください」 「詳細設計書見せてください」 ※ やりすぎか・・・  CASE ※ 8.1.6 以降 SQL-92  MERGE ※ 9i 以降 SQL:2003  Multi Table Insert ※ 9i 以降 Oracle独自 ※ Bugにだけ、ご注意ください。。。 24 Copyright (C) 2009 CO-Sol Inc. All Rights Reserved
    25. Oracle Unconference Ⅰ. 松下雅@コーソルって誰? Ⅱ. システムの構成を考えよう Ⅲ. 極力、シンプルなコードを Ⅳ. デフォルトの設定って? Ⅴ. Question & Answer 25 Copyright (C) 2009 CO-Sol Inc. All Rights Reserved
    26. Ⅳ. デフォルトの設定って? インスタンス → memory_target ※11g 以降 sga_target ※10g 以降 データベース → AUTOEXTEND 26 Copyright (C) 2009 CO-Sol Inc. All Rights Reserved
    27. Oracle Unconference Ⅰ. 松下雅@コーソルって誰? Ⅱ. システムの構成を考えよう Ⅲ. 極力、シンプルなコードを Ⅳ. デフォルトの設定って? Ⅴ. Question & Answer 27 Copyright (C) 2009 CO-Sol Inc. All Rights Reserved
    28. Ⅴ 全体を通して Question & Answer 28 Copyright (C) 2009 CO-Sol Inc. All Rights Reserved

    + Oracle Techonology Network(OTN) Japan 事務局Oracle Techonology Network(OTN) Japan 事務局, 8 months ago

    custom

    565 views, 0 favs, 0 embeds more stats

    Oracle OpenWorld Unconference Tokyo 2009

    More info about this presentation

    © All Rights Reserved

    • Total Views 565
      • 565 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 11
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?