トップ «前の日記(2008-02-26) 最新 次の日記(2008-02-28)» 編集

jFD開発したりしなかったり日誌

2004|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|
2008年
2月
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

2008-02-27 [長年日記]

_ 仕事

結合が多すぎてMySQLが結果を返してくれないSQLの改修をする。

ツリー構造のデータなのだが、ジョインするテーブルが十数個になったら

何分待っても結果が返ってこなくなってしまった。

MySQLはジョインするテーブルが増えるとリニアに性能が低下するらしい。

そこで、同じ内容でEXISTSを使うSQLを作って流してみたら0.6秒で

結果が戻るようになった。

ツリー構造なので、EXISTSの中のサブクエリでさらにEXISTSを使ったりしていて、

すごいSQLになってしまったが、そういうもんなんで仕方ない。

この方式を採用することにしたのはいいが、データのツリー構造は一定ではなく、

毎回SQLを動的に生成しないといけない。

これが半端なく面倒。

さらに、取得するデータがツリーのルートではないのにツリーの上位ノードや、

その下の別のノードを参照しないといけない場合があり、かなり知恵をひねって

SQL生成のコードを書き上げた。

マジ疲れた。

完成したら気がゆるんで、それまで気がつかなかった体調不良が出てきた。

体の節々が痛い。

でもスケジュールが厳しいんで、おちおち体調を崩してる暇もない。

早く帰って寝よう。

_ SQL Server 2005 Compact Edition

Windows Mobileのアプリケーション開発でSQL Server 2005 Compact Edition

(面倒だからSQL Server CEと書く)を検証したのだが、データのインサートが

遅いという印象はあったが(Advance W-ZERO3[es]上の4カラムのテーブルで

1万件インサートして50秒くらい)、使い方次第では悪くないという印象だった。

Javaで言うところのH2DBみたいな組み込みDBなのだが、僕はデスクトップアプリも

もっと積極的にDBを使うべきだと思ってる。

jFD2ではサムネイルの管理にH2DBを使ってるのだが、かなり便利に感じた。

たとえばRSSリーダーでローカルにエントリーをキャッシュする場合なんか

便利じゃなかろうか。

で、知らなかったんだけどSQL Server CEって普通のWindowsでも使えるんだな。

PC上ならパフォーマンスもそんなに悪くないだろうし、クライアントアプリ開発に便利そうだ。

C#でアプリ開発するときに使ってみようか。

本日のリンク元
その他のリンク元
検索