スマートフォン専用ページを表示
<<
2016年03月
>>
日
月
火
水
木
金
土
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
自己紹介
IT技術者として現場で働いていましたが,現在は母校の大学にて教員を務めています.趣味の風景写真を中心に,日々の出来事をお気楽に綴っていきます.
生まれ:1977年,東京都
性別:男
趣味:ドライブ,風景写真を撮ること
性格:楽観的なときもあるけどどちらかと言えばネガティブな思考.よく「自分に自信をもちなよ」と言われます.
座右の銘:特にないけど「出る杭は打たれる.出過ぎた杭は誰にも打てない.」は心に残る言葉の一つ.
お知らせ
コメント・トラックバックはご自由にどうぞ.明らかに関連が薄いものは削除する場合があります.本ブログで使用しているCookieについては
こちら
をご参照ください.本ブログの広告収益の一部はユニセフなどの慈善事業者へ寄付しています.
新着記事
(03/31)
ブログ更新終了のおしらせ
(03/26)
Jpeg GPX Merger 1.4.3 をリリースします
(03/21)
結局SNSやってない
(03/13)
理想の研究者像
(02/25)
やっぱカッコイイ
人気記事
Javascriptにおけるマルチモニタ対応について
Jpeg GPX Merger 1.4.1 をリリースします
デジカメ画像を復活する
ArrayListとLinkedListの違い〜ビッグデータ時代のデータ処理〜
論文執筆でMS-Wordを使う時のコツ 4/表の作成について
カテゴリ
αでつづる風景写真
(178)
最近の出来事で思うこと
(9)
日記
(796)
IXY 900IS 実写サンプル
(12)
α700私的サンプル
(15)
写真など
(57)
知恵袋
(20)
博士(工学)を目指す方へ
(9)
日々の研究
(23)
論文執筆でMS-Officeを使う時のコツ
(5)
有害電波発信地
(31)
きもちぃ〜ソフトウェア開発の研究
(4)
記事検索
検索語句
最近のコメント
走行中に新幹線はどのくらい変形するか
by eco (09/10)
走行中に新幹線はどのくらい変形するか
by 丸さん (08/26)
走行中に新幹線はどのくらい変形するか
by ひろき (03/30)
最近のトラックバック
巾着田の彼岸花(曼珠沙華),いよいよ見ごろです!
by
http://www.valras-plage.net/xtreme-no/
(11/29)
Jpeg GPX Merger 1.4.2 をリリースします
by
おきらくプログラマー
(03/26)
Jpeg GPX Merger 1.4.1 をリリースします
by
おきらくプログラマー
(12/28)
過去ログ
2016年03月
(4)
2016年02月
(4)
2016年01月
(3)
2015年12月
(4)
2015年11月
(4)
2015年10月
(8)
2015年09月
(8)
2015年08月
(3)
2015年07月
(9)
2015年06月
(10)
2015年05月
(8)
2015年04月
(5)
2015年03月
(3)
2015年02月
(5)
2015年01月
(6)
2014年12月
(12)
2014年11月
(8)
2014年10月
(4)
2014年09月
(7)
2014年08月
(8)
2014年07月
(8)
2014年06月
(6)
2014年05月
(2)
2014年04月
(6)
2014年03月
(4)
2014年02月
(8)
2014年01月
(7)
2013年12月
(5)
2013年11月
(3)
2013年10月
(8)
2013年09月
(5)
2013年08月
(6)
2013年07月
(11)
2013年06月
(5)
2013年05月
(5)
2013年04月
(11)
2013年03月
(10)
2013年02月
(4)
2013年01月
(13)
2012年12月
(12)
2012年11月
(8)
2012年10月
(10)
2012年09月
(5)
2012年08月
(2)
2012年07月
(8)
2012年06月
(12)
2012年05月
(12)
2012年04月
(2)
2012年03月
(6)
2012年02月
(9)
2012年01月
(18)
2011年12月
(7)
2011年11月
(17)
2011年10月
(13)
2011年09月
(16)
2011年08月
(18)
2011年07月
(18)
2011年06月
(13)
2011年05月
(27)
2011年04月
(22)
2011年03月
(14)
2011年02月
(11)
2011年01月
(6)
2010年12月
(5)
2010年11月
(2)
2010年10月
(6)
2010年09月
(2)
2010年08月
(6)
2010年07月
(10)
2010年06月
(2)
2010年05月
(4)
2010年04月
(9)
2010年03月
(4)
2010年02月
(1)
2010年01月
(7)
2009年12月
(3)
2009年11月
(11)
2009年10月
(5)
2009年09月
(10)
2009年08月
(8)
2009年07月
(6)
2009年06月
(2)
2009年05月
(3)
2009年03月
(4)
2009年02月
(2)
2009年01月
(6)
2008年12月
(5)
2008年11月
(11)
2008年10月
(4)
2008年09月
(6)
2008年08月
(6)
2008年07月
(6)
2008年06月
(8)
2008年05月
(21)
2008年04月
(26)
2008年03月
(17)
2008年02月
(14)
2008年01月
(22)
2007年12月
(21)
2007年11月
(17)
便利リンク
登録
RDF Site Summary
RSS 2.0
Atom
Total Page View
本ブログの更新について
本ブログの更新は
2016年3月31日をもって終了
しました.ありがとうございました.
posted by みっちぃ (管理人)
<<
今さえ良ければいいのか
|
TOP
|
リニアの車窓
>>
2013年07月13日
遅い原因
ん〜、某システムが遅い主因は10ぐらいあるテーブルへInsertやUpdateをする際に、テーブルごとにDB ConnecionをOpen/Closeしていることにある気がしてきた。しかもこの処理は、その前のSelectで取得したレコード数の分だけ繰り返し実行される(ようだ)。 なんでこんな実装にしちゃったのさ…(涙
posted by みっちぃ (管理人) at 01:17|
Comment(4)
|
TrackBack(0)
|
日記
この記事へのコメント
コネクションプーリング使っていないのですか?ちょっといまどきそれは考えられない実装ですね。
Posted by しま at 2013年07月13日 11:11
しまさん.コメントありがとうございます.
接続文字列に指定は無かったのですがOracle Connector デフォルトではコネクションプーリングするようになっていたと思います.プーリングされていればこのことによる性能低下は無視ほどになるんですかね?
いずれ時間計測のコードを埋め込んで原因特定したいとは思ってますが・・・.
Posted by みっちぃ(管理人) at 2013年07月13日 11:45
コネクション取得は比較的重い処理なので、プーリングし再利用することで速度向上は見込めます。
# というか、そう思ったので「テーブルごとにDB ConnecionをOpen/Closeしていることにある気がしてきた。」と言ったのですよね。
また、通常DBのConnectorでプーリングを実装していることはないと思います。コネクションプーリングはJavaのWebシステムであればAPサーバで大抵実装されています。アプリケーションは自前でコネクションを取得するのではなく、APサーバから取得することで、裏ではプールされたコネクションを利用することになります。
Posted by しま at 2013年07月13日 13:30
># というか、そう思ったので「テーブルごとにDB ConnecionをOpen/Closeしていることにある気がしてきた。」と言ったのですよね。
いえ,ちょっと違いますね.Connection Pooling自体は現状作用しているはずなので,Open/Close自体が足を引っ張っている可能性はそれほどでも無いかもしれません.
むしろ,テーブルごとにOpen/Closeすることによって,その都度Commitも発生していることになります.addBatchしていって後からまとめてCommitする実装に比べるとかなりの差になっていると思われます.まぁ,この点は時間を計れば明らかになるでしょう.
これを治そうにもテーブルごとにOpen/Closeしている現状では修正範囲が広く,それが根本的な原因とも言えることから“主因”と表現しました.
まぁ,この実装には何か理由があったのかもしれません.今度聞いてみましょうか.
Posted by みっちぃ(管理人) at 2013年07月13日 15:16
コメントを書く
お名前: [必須入力]
メールアドレス:
ホームページアドレス:
コメント: [必須入力]
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/70852675
この記事へのトラックバック
接続文字列に指定は無かったのですがOracle Connector デフォルトではコネクションプーリングするようになっていたと思います.プーリングされていればこのことによる性能低下は無視ほどになるんですかね?
いずれ時間計測のコードを埋め込んで原因特定したいとは思ってますが・・・.
# というか、そう思ったので「テーブルごとにDB ConnecionをOpen/Closeしていることにある気がしてきた。」と言ったのですよね。
また、通常DBのConnectorでプーリングを実装していることはないと思います。コネクションプーリングはJavaのWebシステムであればAPサーバで大抵実装されています。アプリケーションは自前でコネクションを取得するのではなく、APサーバから取得することで、裏ではプールされたコネクションを利用することになります。
いえ,ちょっと違いますね.Connection Pooling自体は現状作用しているはずなので,Open/Close自体が足を引っ張っている可能性はそれほどでも無いかもしれません.
むしろ,テーブルごとにOpen/Closeすることによって,その都度Commitも発生していることになります.addBatchしていって後からまとめてCommitする実装に比べるとかなりの差になっていると思われます.まぁ,この点は時間を計れば明らかになるでしょう.
これを治そうにもテーブルごとにOpen/Closeしている現状では修正範囲が広く,それが根本的な原因とも言えることから“主因”と表現しました.
まぁ,この実装には何か理由があったのかもしれません.今度聞いてみましょうか.