jFD開発したりしなかったり日誌
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#でアプリ開発するときに使ってみようか。
- http://press.eek.jp/result/2008年/2008年 占い ×2
- http://jjjjjj.ddo.jp/www/ytbtag_tag=Windows;page=1... ×1
- キーワード不明 ×6 / h2db 組み込み ×5 / H2DB ×5 / h2db ×4 / C# h2db ×3 / H2DB SQL ×2 / SQL Server Compact サブクエリ ×2 / SQLServer CE 2005 ×1 / H2DBアプリケーション ×1 / sql server compact 開発 ×1 / h2db sql ×1 / h2db c# ×1 / SQL server CE 万件 ×1 / sql server compact Edition キャッシュ ×1 / SQL 崩し ×1 / SQL SERVER 2005 サブクエリ ×1 / exists h2db 遅い ×1 / sql server 万件 インサート 2008 ×1 / H2DB C# ×1 / SQL Server Compact edition Windows 生成 ×1 / compact edition サブクエリ ×1 / SQL Server Compact Edition Java ×1 / sql compact サブクエリ ×1 / jfd2 windows mobile ×1 / H2DB mobile ×1 / SQL Server Compact Edition パフォーマンス ×1 / SQL CE 遅い ×1 / h2db カラム ×1 / SQL Server Compact Edition 性能 ×1 / mysql h2db ×1 / H2DB メモリ ×1 / sql server compact edition サブクエリ ×1 / sql server compact 遅い ×1 / sqlserver compact サブクエリ ×1 / H2DB 使い方 ×1 / ツリー構造 sql server ×1 / sqlserver compact サブクエリー ×1 / SQL Server Compact Edition サブクエリを使う ×1 / SQLServer インサート 遅い ×1 / compact edition パフォーマンス 遅い ×1 / H2DB 組み込み ×1 / SQL Server 2005 Compact Edition ×1 / 結合 h2db テーブル数 ×1 / sql サブクエリ COMPACT ×1 / Windowsmobile SQL Compact パフォーマンス 遅い ×1 / SQL Server 2005 Compact edition パフォーマンス カラム数 ×1 / SQLCE サブクエリー ×1 / H2DB SQLserver ×1 / H2DB C#から ×1 / SqlServerCe 副問い合わせ ×1 / h2db C# ×1 / sql compact windows mobile ×1 / sqlserver exists パフォーマンス ×1