2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

【Java】H2 Database Engine【GCJ】

1 :NAME IS NULL:2006/12/04(月) 01:14:17 ID:???.net
フリーのJava製データベースエンジン H2 について語れや。

・とっても速い、誰でも利用可能、ソース同梱
・Java製。LinuxならGCJでコンパイル可能。
・組込用にも、サーバ用にも、そしてクラスタモードも利用可能
・JDBC対応、一部ODBC対応。Webクライアント付属。

公式(要Javascript)
ttp://www.h2database.com/


■ 紹介ページ
使ってみようH2 Database Engine - 最強の呼び声もあるすごいヤツ
ttp://journal.mycom.co.jp/articles/2006/10/12/h2/
Hibernate - H2とExecute Queryで体験、定番の"Core"
ttp://journal.mycom.co.jp/articles/2006/10/21/hibernate/


■関連スレ
【Pure】HSQL database engine【Java】
ttp://pc8.2ch.net/test/read.cgi/db/1060970234/

【PureJava】 Derby 1 【OpenSource】
ttp://pc8.2ch.net/test/read.cgi/db/1128799341/

2 :NAME IS NULL:2006/12/04(月) 01:46:38 ID:???.net
2get!!
Derbyから乗り換えたけど、いいよ、これ。
2006-11-20版で若干仕様が変わって混乱したけど無問題!

3 :NAME IS NULL:2006/12/09(土) 00:19:45 ID:???.net
誰か何か書いておくれ。
あだち充のマンガみたいだが、根はいい奴なんだ。

4 :NAME IS NULL:2006/12/09(土) 00:23:08 ID:???.net
JPAとの相性はいいかもな。
速い+遅い=普通みたいな感じで。

5 :NAME IS NULL:2006/12/12(火) 20:30:53 ID:???.net
HSQLDB使ってるけど、HSQLDB->H2に移行するメリットってなんかあるの?

6 :NAME IS NULL:2006/12/12(火) 20:34:28 ID:???.net
やっぱ速度じゃねーかな。最近はJava技術でDB関連の連載するときに良く登場してる。

7 :NAME IS NULL:2006/12/12(火) 20:49:45 ID:???.net
>>6
そっかー、thx。

DerbyよりH2のが使いやすかったカンジはあったんだけど、
HSQLDB<->H2との差異がイマイチわからなかったから・・・。
今度よくドキュメント見てみようかな。


8 :NAME IS NULL:2006/12/13(水) 01:03:41 ID:???.net
H2 Database Engineは、HSQLDBの系統だったっけ?
ライセンスは違うけど作者は同じだったような・・・
単純なテキスト検索だと大差ないけど、LOBデータを
使うならH2はマジお勧め。

9 :NAME IS NULL:2006/12/13(水) 01:04:43 ID:???.net
Hypersonicのころに脱退してHSQLに変わった後H2を興したんじゃなくて?

10 :NAME IS NULL:2006/12/17(日) 17:33:39 ID:c8T56vdc.net
フリーソフトに是非組み込みたい。

11 :NAME IS NULL:2006/12/17(日) 23:56:25 ID:???.net
CLOGがLIKEで使えるってのは新鮮だな。確かOracleじゃできなかったはず。
でもBackupでOutOfMemoryしやすいって話だし
そこらへんが解決すればOOoもこっちに移行するかもね。

12 :NAME IS NULL:2006/12/23(土) 05:20:55 ID:???.net
Version 1.0 が出てるね。
そろそろ乗り換えるか。

13 :NAME IS NULL:2006/12/23(土) 20:36:35 ID:???.net
CLOG → CLOBだった。
まあこんなスレ誰も見てないだろうからいっか。

14 :NAME IS NULL:2006/12/31(日) 03:23:00 ID:7TDC6eJ8.net
ODBC誰かまともにしてあげて!

15 :NAME IS NULL:2007/01/08(月) 21:10:35 ID:C5Ln50HE.net
正式リリースしたのでさわってみたがかなりいいな

HSQLDBやDerbyで仕事してきたからH2だけダントツに出来がいいのがわかる
DerbyはSQLまわりが想像以上に悪い出来だったのにびっくりで運用にはきついものがあったし
HSQLDBはマルチユーザで使い物にならなかったからね

クラスタはまだ試してないけど、どんな感じだろう

16 :NAME IS NULL:2007/01/08(月) 21:39:45 ID:???.net
あとMVCCと行ロックがサポートされれば。。。

17 :NAME IS NULL:2007/01/09(火) 00:04:08 ID:???.net
ロックがサポートされただけでもかなり改善
まずは組み込み時のパフォーマンス重視ってことかな
トップページがベンチマークだもんな

とりあえず基幹システムに使うかどうかまじめに考えてるのでなんかわかったら書き込む
Derbyに比べれば運用がすごい楽そうだ

18 :NAME IS NULL:2007/01/19(金) 23:39:25 ID:???.net
embeddedなH2のが性能がいいのなら
Web/DBサーバが同じな最小構成のときは
web.xmlにembeddedなサーバを動かすservletをかますのがベスト?

19 :NAME IS NULL:2007/02/13(火) 18:47:08 ID:???.net
H2のページのベンチだと、C-SでもMySQL,PostgreSQLより上になってんだけど
これマジっすか?

20 :NAME IS NULL:2007/02/18(日) 15:34:34 ID:???.net
Javaのベンチマークは、delete相当分が無視されてる可能性あるからなぁ・・・
少なくても、Embeddedでは圧倒してるんじゃない。
最近のJVMは内部で非同期IO使いまくりだし相当いい線行ってる。

21 :NAME IS NULL:2007/03/07(水) 04:22:27 ID:???.net
いつのまにかバージョン上がってるね。

Version 1.0 / 2007-03-04
・System sequences (automatically created sequences for IDENTITY or AUTO_INCREMENT columns) are now random (UUIDs) to avoid clashes when merging databases using RUNSCRIPT.
・The precision for linked tables was not correct for some data types, for example VARCHAR. Fixed.
・Many problems and bugs in the XA support (package javax.sql) have been fixed.
・Now the server tool (org.h2.tools.Server) terminates with an exit code if a problem occured.
・The JDBC driver is now loaded if the JdbcDataSource class is loaded.
・After renaming a user the password becomes invalid. This is now documented.
・XAResource.recover didn't work. Fixed.
・XAResource.recover did throw an exception with the code XAER_OUTSIDE if there was no connection. Now the code is XAER_RMERR.
・SCRIPT did not work correctly with BLOB or CLOB data. Fixed.
・BACKUP TO 'test.zip' now works with encrypted databases and CLOB and BLOB data.
・The function CASE WHEN ... didn't convert the returned value to the same data type, resulting in unexpected behavior in many cases. Fixed.
・Truncating a table is now allowed if the table references another table (but still not allowed if the table is references by another table).
・ORDER BY picked the wrong column if the same column name (but with a different table name) was used twice in the select list.
・When a subquery was used in the select list of a query, and GROUP BY was used at the same time, a NullPointerException could occur. Fixed.
・ORDER BY did not work when DISTINCT was used at the same time in some situations. Fixed.
・When using IN(...) on a case insensitive column (VARCHAR_IGNORECASE), an incorrect optimization was made and the result was wrong sometimes.

結局、
・リンクテーブルの不整合対処
・XA関連対処
・SCRIPTのときにBLOB/CLOBもいけるように
・CASE文強化
あたりが目玉?

22 :NAME IS NULL:2007/03/07(水) 16:08:29 ID:???.net
どうも、XA周りがまだ弱い感じ?
正式リリースで触り始めた人たちが
うまくXA出来てないってこと出してきたってとこかな?

23 :NAME IS NULL:2007/03/09(金) 03:07:28 ID:???.net
The H2 forum was hacked by a person in Vietnam.
This Google Group is a (may be temporary) solution for this problem.

うはwwwwww
それでもビタイチ動揺せずに淡々と質問をポストするPavelたんワロスwww

24 :NAME IS NULL:2007/03/14(水) 05:37:25 ID:???.net
むぅ……
org.h2.jdbc.JdbcConnection#translateSQL(String)
がドライバ側なのにやたらグダグダ処理をしてる
(そしてそのわりに'{'が無いだけで処理自体をスキップしてる)
から何かと思ったら、
{d 'yyyy-mm-dd'}やら、{t 'hh:mm:ss'}、{ts 'yyyy-mm-dd hh:mm:ss.f . . .'}やらの
Escape Syntaxの処理かよ……

>The JDBC API supports ISO standard format for the syntax of these literals,
>using an escape clause that the driver translates to native syntax.

マジすかorz


25 :NAME IS NULL:2007/03/14(水) 21:52:50 ID:???.net
JBossのDefaultDSを適当に定義書いてHypersonicをH2に差し替えてみた。
意外と動くもんだ。
体感ではパフォーマンス差はないかなぁ。

26 :NAME IS NULL:2007/04/08(日) 09:11:32 ID:0rem41aM.net
あげ

27 :NAME IS NULL:2007/04/11(水) 00:03:23 ID:???.net
embeddedだと管理コンソールとアプリの並行作業みたいのができないのな。
まあファイルロックしてんだから、あったりまえか。

てかこいつの日本での採用事例とかあったら知りたい。

28 :NAME IS NULL:2007/04/14(土) 04:14:34 ID:UbYRqDio.net
俺は採用したよ!! ものすンげぇシステムなんだよ!!

まぁそれはさておき、1.0 Stableは2006-08-31版から更新されないのかね。
1.0 Currentで開発進めちゃって、ちょっと青ざめてる。
秋までに新Stable版が出れば良いのだけど・・・

29 :NAME IS NULL:2007/04/15(日) 01:04:53 ID:???.net
Derbyが運用のこと考えられてないのでH2しか組込み系での強力なDBはないな
小型軽量組込みならHSQLDBでいいしDerby中途半端だよ

ただ、Sunがサポートやる気出してるのはちとうらやましい
H2のほうがはるかに便利なんだけどなー

30 :NAME IS NULL:2007/04/15(日) 07:49:50 ID:???.net
H2:性能重視
HSQLDB:軽量重視
Derby:SDK・IDE連携重視

で住み分けられるような気がする

31 :NAME IS NULL:2007/04/17(火) 04:19:25 ID:???.net
>>29
いや、サポートされるってことは身軽じゃなくなってることだから
プロジェクトとしてのH2の身軽さは暫くこのままであって欲しい
開発者も増えすぎないのが重要

やれみんなで民主的開発だーってやると途端に足が遅くなるからな

32 :NAME IS NULL:2007/04/17(火) 18:52:13 ID:???.net
DerbyってかJavaDBはJDBC4の参照実装だからね。
H2に対応の予定はあるんかいねぇ、あれは凄いよ。

33 :NAME IS NULL:2007/04/18(水) 10:46:47 ID:???.net
IDがSQL

734 名前:山師さん@トレード中[sage] 投稿日:2007/04/18(水) 10:46:15 ID:SQLb5up50
>>729
永田農法は儲かりませんよ^^

34 :NAME IS NULL:2007/04/20(金) 21:50:17 ID:???.net
Windowsで使ってるんだけど
管理コンソールのデータって何処に保存されてるの?
レジストリかと思ったんだけど探し方が悪いのか分からなかった

35 :NAME IS NULL:2007/04/27(金) 21:02:51 ID:???.net
>>31
んなこたーない
DBそのものをいじってもらうのではな組込んでもらったりするだけ
NetBeansからはPointBaseとかTomcat、Glassfishのコントロールが容易だったが
Sunがさわったことによっておかしくなったわけではないだろう

しかし、元商用DBから真っ当なものかと思ってたが、完全に期待はずれだった>Derby
他のDBとかち合わないからサポートしやすかったのかもね

36 :NAME IS NULL:2007/05/27(日) 01:38:15 ID:zCv2Gcn3.net
たまにはage

37 :NAME IS NULL:2007/05/31(木) 19:56:39 ID:7dqK9g8t.net
>>34
\Documents and Settings\USERNAME\.h2.server.properties


38 :NAME IS NULL:2007/08/06(月) 18:29:08 ID:???.net
8/2付で更新が来ている訳だが。

独自のODBCがデリられているな。
PostgresSQLのプロトコルをしゃべれるようにしたから、
そっちのODBCドライバを使え、ってことか。
まぁ構わんのだがなんだかなw

39 :NAME IS NULL:2007/08/07(火) 12:49:35 ID:???.net
cnet記事更新ktkr!!

でも、ドキュメントとWebが日本語化されたことに
触れてあげた方が良かったと思うんだ。

40 :NAME IS NULL:2007/08/07(火) 13:09:10 ID:???.net
あー、すまん、cnetじゃないねmycomだねorz


41 :NAME IS NULL:2007/09/13(木) 18:16:28 ID:???.net
あーうー、なぜかwindowsのサービスで実行すると、C直下に.h2.server.propertiesファイルができる。

42 :NAME IS NULL:2007/09/25(火) 08:56:23 ID:???.net
まだHSQLDB使ってる。
乗り換えた方がいいんかね?


43 :NAME IS NULL:2007/09/25(火) 11:03:14 ID:ifNTHzMz.net
もちょっと人気出てもいいと思うんだけどね。

コンソール、使いやすい。データベース初心者に超やさしいよ。

44 :NAME IS NULL:2007/09/25(火) 13:36:41 ID:???.net
>>43
俺もすごい使いやすいと思った。

45 :NAME IS NULL:2007/09/25(火) 17:20:11 ID:ifNTHzMz.net
H2 のコンソールって、
クラスパスにjar を登録すると、他のデータベースも
使えるんだね。

試しに derby を登録してみたら、確かに使えた。
もっともパラメータが違いますとか出て、微妙に問題は
あるけど、こなれてくればこのコンソールは非常に使いやすいので、
かなり便利に使えそう。

Execute Queryとかの汎用ツールがあるのは知っているが、
登録するだけでめんどくさ過ぎて、やってられない。

46 :NAME IS NULL:2007/09/25(火) 17:38:08 ID:???.net
前から"jdbc:h2:file:C:\〜"って形式でアクセスしてたんだが、ある日急にエラーが出始めた。
原因を探ると、どうやら前日に設定したbaseDirオプションのせいだということに気づいたんだが、
これって仕様なんだろうか?結構致命的なバグだと思うので、
必要なら報告せねばと思ってるんだが、いまいち踏ん切りがつかない。

47 :NAME IS NULL:2007/09/25(火) 18:03:02 ID:ifNTHzMz.net
>>46
デフォルトは、テスト用の jdbc:h2:~/test だよねぇ。
で、通常は jdbc:h2:MyDB という感じの形式が推奨されてるみたいだけど。
自分にはそれ以上よく分からないや。

サポートのH2 Database-JP で聞いてみれば?
ttp://groups.google.co.jp/group/h2-database-jp

作者の Thomas Mueller さんは、ときどき日本語の質問に
英語で答えてくれてるよw もちろん、いつもとは限らないけど。
(最初は本当に驚いた。あちらの方でこのような方は前例が
 ないような気がするがなぁ)

48 :NAME IS NULL:2007/09/25(火) 20:02:18 ID:ifNTHzMz.net
>>46
 >>47 の補足だけれど、
通常推奨されてる jdbc:h2:MyDB というは、
H2 のフォルダに中のファイル MyDB.data.db に対応しているようだね。
僕の場合は、
C:\Program Files\H2\bin\MyDB.data.db
の位置にある。

jdbc:h2:file:C:\〜 という形式でアクセスする必要は
ないのではないだろうか…。不安定になるなら、なおさら。

49 :NAME IS NULL:2007/09/25(火) 20:05:54 ID:???.net
>>48
レスthx.
確かにほとんどEnbeddedで動かしてるから、必要ないんだけど、
ドライブまたいだ、たとえばDドライブ内にDBファイルを作ろうとすると、絶対パスでないとできないんだよねえ。
おk、サポートで聞いてみるよ。

50 :NAME IS NULL:2007/09/26(水) 02:41:51 ID:???.net
Javaクライアント界のSQLiteを目指して頑張って欲しい

51 :NAME IS NULL:2007/09/26(水) 13:29:02 ID:???.net
>>50
ライバルは、SQLiteJDBCか!
>>49
Embeddedなら実行ディレクトリをデータファイルの場所に動かせば、
fileスキームの指定は要らなくなるんじゃなかったっけ?
複数ディレクトリにばらけてるなら、しかたないかもしれんけど。

52 :NAME IS NULL:2007/09/26(水) 20:03:22 ID:iAGNNJNN.net
ライバルは、使いやすさでは SQLite。
機能では、MySQL と PostgreSQL ということでしょ。

もっとみんなに触ってほしいよ。
一度試してみれば、使いやすくて高機能というのが
分かってくれるはずなんだけどなー。

53 :NAME IS NULL:2007/09/29(土) 13:54:00 ID:???.net
使うのが簡単で、機能も一通りそろってて、それでいて速いので気に入って使ってます。
ブラウザベースのコンソールも便利だけど、readline対応のCLIも欲しいな。

54 :NAME IS NULL:2007/10/03(水) 00:39:21 ID:s1PZV8oW.net
>>52

 SQLiteもホントは良いんだろうけど
重厚長大なRDBMSを使った事ある人には
割り切りれるかがポイントですね。

やはり、スキーマレス、型レスというのは
私は駄目でした。

H2は上記はもちろん既存のRDBMSを意識して
作られているので各方言にも配慮しています。

あとcsv表関数は便利ですよ〜





55 :NAME IS NULL:2007/10/08(月) 13:07:03 ID:rhsQ/m1u.net
本家HomePage の日本語訳部分が大幅に増えましたね。

56 :NAME IS NULL:2007/11/06(火) 21:54:20 ID:sFgm7o4t.net
H2のサイトに行って h2-2007-10-20.zip を落としてきて、本家の QuickStart、Installation、Tutorial
を読んで動かしてみました。
zip を c:\java\h2 に展開し、bin\h2.bat を実行してブラウザから
create table TEST、
insert into TEST ・・・・・
で適当にデータを突っ込んだあと、ブラウザからシャットダウンしました。
(このとき drop table TEST はしていない)

もういちど h2.bat を実行して、ブラウザでコンソールにログインすると、先ほどの TEST テーブルが残っています。
実際のデータベース(テーブル)のファイルはどこに置かれているのでしょうか?

>>46 さんのように、ブラウザで接続するときに、特にパスを指定しているわけではありません。

>>34 >>37 をみてみて、c:\documents and settings\USERNAME\直下に test.*.db というファイルが
直近のタイムスタンプでできていましたが、DB の実体はこれであってますか?

57 :NAME IS NULL:2007/11/06(火) 22:58:40 ID:???.net
>>56
c:\documents and settings\USERNAME\直下に test.*.dbで合ってるよ。
思いっきりFAQにも書いてあるけど。
http://www.h2database.com/html/frame.html?faq_ja.html%23database_files&main

58 :NAME IS NULL:2007/11/07(水) 15:27:01 ID:9AOs1HeU.net
>>57
レスどうもありがとうございます。FAQ見逃してた・・・理解しました。


59 :56:2007/11/09(金) 15:10:07 ID:???.net
おれの作業メモ

自作プログラムから↓でつないだとき、autocommit は true になっている。

 Connection conn
  = DriverManager.getConnection("jdbc:h2:~/test", "sa", "");
 System.out.println(conn.getAutoCommit());

autocommit を off でつなぎたいときは、JDBC URL を以下にする。

 Connection conn
  = DriverManager.getConnection("jdbc:h2:~test;AUTOCOMMIT=TRUE", "sa", "");

JDBC URL に指定できるパラメータは、org.h2.engine.ConnectionInfo.java の
static ブロックに書いてある。

// TODO document these settings

なんてコメントがあるのでドキュメント化されるとうれしいですね。


60 :NAME IS NULL:2007/11/09(金) 15:25:07 ID:???.net
=FALSEの間違いじゃ?

あと、無指定でAutoCommitなのはJDBC仕様でしょ

61 :56:2007/11/09(金) 15:33:13 ID:???.net
>>60
すみません、コピペ元のソースを間違えました

> あと、無指定でAutoCommitなのはJDBC仕様でしょ

そうなのか、知らなかった

どうでもいいですが、スレそのものの勢いは少ないけど、結構見ている方いるんですね。

Webインターフェースも ajax でオートコンプリートしたり、CSE や OsqlEdit(OsqlGrid) みたいに select してきた
結果表のマトリックスを直接いじって編集もできるし、すごいなこれ。

しばらく遊ぶことにしよう。

62 :NAME IS NULL:2008/02/26(火) 23:11:09 ID:YBMRSqIg.net
grails-1.0内蔵のデータベースはまだHSQLDBだった。

63 :NAME IS NULL:2008/04/02(水) 22:21:03 ID:APbDJlUh.net
>>62
     オハヨー!!
    ∧∧ ∩
    (`・ω・)/
   ⊂  ノ
    (つノ
     (ノ
 ___/(___
/  (___/
 ̄ ̄ ̄ ̄ ̄ ̄


64 :NAME IS NULL:2008/05/11(日) 21:14:38 ID:???.net
ん〜、だめだ。
こいつの使いやすさに慣れてしまうと、他のRDBMSが面倒に思えてきてしまう。

JRE と h2.jar あればどうにでもなっちまうし、
CSVRead/Write でデータ作成・取り出しが鬼のようにも楽だ。


なんかまとめっぽいサイト見つけたんで、貼っておく
ttp://homepage2.nifty.com/yoks/TechNote/H2/H2_MnFrm.htm

65 :NAME IS NULL:2008/06/17(火) 20:49:40 ID:???.net
あのさ・・・・JBossのDataSourceとしてH2を設定できたやつっている?
何か、EOFExceptionから逃げられない・・・・
hsqldb-ds.xml を書き換えたりして、やってみようとしてるんだけど・・・・

66 :NAME IS NULL:2008/07/08(火) 12:33:53 ID:06ycm9Xn.net
H2とJ2Seの各最新版でembeddedなアプリつくってて1.6GHzのXPのPCで
INTの5列の単純なテーブル(インデックスはprimaryと個別に2カラムのの計2個)に
PrepareStatementで新規データをMERGEをしようとしています
ListからループでsetしてaddBatchしてexecuteBatchしてcommitすると
executeBatchのところで、100件なら100ms、1000件なら1000msかかるんだけど
遅すぎませんか?こんなものなの?もちろんautoCommitはオフにしてます
でも、batchを止めて、1件ごとにexecuteUpdateしても、ほぼ同じ時間が掛かる
Batchの使い方間違えてるのかな…
1000データ×40タイプ×5000件のデータをデータベースに登録するのに一晩では終わらなかったです


67 :NAME IS NULL:2008/07/08(火) 23:07:40 ID:???.net
Turion 64 X2 TL-60 2.0GHz Vistaで試してみたけど
1,000件で150ms
10,000件で650msだったよ、

68 :NAME IS NULL:2008/07/09(水) 02:26:35 ID:???.net
>>67
早速のご回答ありがとうございます。
やっぱり私のは遅すぎるようですね…10倍近く違うとは
何かどこかで変な事をやってる臭いですね
再度ソースを洗ってみます

ところで、MERGEはEXPLAINできないんですね。怒られました

69 :66:2008/07/09(水) 12:37:33 ID:???.net
アプリから該当のCREATE TABLEとMERGEだけ抜き出して
ダミーのmainに貼り付けてダミーデータで実行したら>>67と同等の結果が出ました
何が悪いんだろう…
考えられるのは、他の、DB全体の要因などでしょうか?
例えばテーブル数が多すぎて参照に時間が掛かっているとか…
問題のテーブル以外にも外部キー設定したテーブルが100近くあります
これからテーブル数を変更してテストしてみます

70 :NAME IS NULL:2008/08/01(金) 22:11:10 ID:???.net
最近のバージョンアップでも地味に機能が追加されてるな
ついに行ロックのコードも入りはじめたみたいだし

71 :NAME IS NULL:2008/08/03(日) 11:21:01 ID:???.net
行ロックに対応したら有り難いなあ
用途が広がりそう

72 :NAME IS NULL:2008/08/03(日) 12:56:14 ID:ZzfOsO6b.net
ほんと使えるなぁコレ。

73 :NAME IS NULL:2008/10/07(火) 23:49:21 ID:iBo0WhZL.net
スクリプト流し込む時どんなツール使ってる?

74 :NAME IS NULL:2008/10/10(金) 21:06:50 ID:???.net
>>73
俺はExecute Queryってツールを使ってるよ。
http://executequery.org/index.jsp


そういえば、1.0.79で行レベルロック機能が有効になったと思ったら、
そのすぐ後に1.1.100も出てきて、ここしばらく動きが速いね。

75 :NAME IS NULL:2008/10/15(水) 01:29:56 ID:n9DCCDo6.net
>>74 さんくす
ほほん、、、え、えいごかぁ

76 :NAME IS NULL:2008/10/15(水) 10:08:35 ID:???.net
eclipse 使ってるなら DBViewerプラグインが良いよ。
ttp://www.ne.jp/asahi/zigen/home/plugin/dbviewer/about_jp.html

77 :NAME IS NULL:2008/10/15(水) 22:09:03 ID:???.net
なんか "GROUP BY" がおかしくない?

CREATE TABLE TESTTBL(
A INTEGER NOT NULL
, B INTEGER NOT NULL
, PRIMARY KEY(A, B)
);

INSERT INTO TESTTBL (A, B) VALUES (1, 1);
INSERT INTO TESTTBL (A, B) VALUES (1, 2);
INSERT INTO TESTTBL (A, B) VALUES (2, 1);
INSERT INTO TESTTBL (A, B) VALUES (2, 2);

SELECT B FROM TESTTBL GROUP BY B;

DROP TABLE IF EXISTS TESTTBL;

これで期待する結果は

1
2

なのに

1
2
1
2

が返されるだけど…

78 :NAME IS NULL:2008/10/15(水) 22:26:30 ID:???.net
DISTINCT

79 :NAME IS NULL:2008/10/15(水) 23:33:36 ID:???.net
>>78
う〜ん、そうなんだけど…

80 :NAME IS NULL:2008/10/16(木) 14:23:40 ID:???.net
普通に2件返るよ。
ver1.0.67でちょっと古いけど。

81 :NAME IS NULL:2008/10/16(木) 22:49:53 ID:???.net
なるねぇ

> SELECT B FROM TESTTBL GROUP BY B;
> B
> 1
> 2
> 1
> 2
> (4 行, 0 ms)

@H2 1.1.100(2008-10-04)


82 :NAME IS NULL:2008/10/16(木) 23:20:36 ID:???.net
Oracle10i で2件、Postgres8.3で2件、H2 1.1.100で4件なのを確認した。

83 :NAME IS NULL:2008/10/17(金) 00:18:39 ID:???.net
うーん、公式に投げた方が良い気がする。どこで変わったんだろう。

84 :NAME IS NULL:2008/10/18(土) 00:54:02 ID:???.net
うお、人が居る!

すんません、>>77です。
ゴメンナサイ、これは言葉が足らなかった…

>>77の様な場合に2件返すタイプのDBも、4件返すタイプのDBも存在します、たしか…
4件返すタイプはDB2とかだっけなぁ、忘れちゃった
個人的に4件返すタイプのDBが嫌いなので書いちゃっただけです…

古いバージョンは知らないのですが、
Version 1.0.73、 Version 1.1.100 共に同じ結果で
4件返されます

贅沢言わせて貰えれば、"SET MODE"でこの辺も反映してもらえると最高!

てっ、ゆーかもうバージョン上がってるし…

最新は Version 1.1.101 (2008-10-17) の模様
まだ未確認だけど

85 :NAME IS NULL:2008/12/08(月) 02:34:53 ID:???.net
そして誰も居なくなった…

個人的感想をチラ裏にメモ

まだオプティマイザがお馬鹿ちゃんなのかな?

簡単な場面ですぐにテーブルスキャンにいってしまう
っていうか、テーブルスキャンが他のDBより極端に遅いかもしれない
特にデータ量が多い場合に顕著な気がする

もしかしたらキャッシュが効いてる場合と、
そうでない場合のギャップがすさまじいのかも

良く言えば、
単テーブルを対象としたクエリの場合はとても素直なので、
インデックスの勉強にはいいかもしれない…
良く言えばだが…

特に、結合した場合はうまくインデックスを利用できてないっぽいし、
多量のデータを対象とした集計を行う場合にも、
どうしようもない位遅い…
悲しい程に…

期待age

86 :66:2008/12/08(月) 09:24:11 ID:???.net
そうそう、素でオプティ米座に頼ると遅いね

キリキリ自分でチューンすると何とか動かせるレベルになるけど
経験無いと辛いかもしれん

87 :NAME IS NULL:2008/12/09(火) 04:08:31 ID:iw0aazLl.net
知らない間にまたバージョンが上がっていたよ、パトラッシュ…

Version 1.1.104 (2008-11-28)なんだって…
最近バージョンアップが頻繁なんだよ…

ぼくは H2 を気に入っているんだ…
だから心配なんだよ…

stable のリリース時期が決まっていないのに
unstable を次々リリースしている事に…

僕には unstable を追っかけるのは無理だったんだ…

パトラッシュ…
僕なんだかとっても眠いんだ…

88 :NAME IS NULL:2008/12/09(火) 04:24:21 ID:iw0aazLl.net
ってゆか
書きたかった事を忘れてた…

Version 1.1.100 (2008-10-04)では問題の無かった"LINKED TABLE"関連(多分ストアドとか"ALIAS"も)

Version 1.1.103 (2008-11-07)で壊れているのかも…

正確に言うと jdbc ドライバ等、つまりはクラスパス関連が調子悪いかもね…

でも、期待age

89 :NAME IS NULL:2008/12/16(火) 23:16:53 ID:???.net
以前のバージョンで普通に動いていたWindows サービス化が
ビタイチ動かねえとサービス実行ユーザやら権限やら散々確認して、
ふと確認したwrapper.confのjar名がh2.jarで最近のh2-1.1.x.jarみたいな
バージョン後置のファイル名に追随してないだけだと気付いた際の脱力感について。

90 :NAME IS NULL:2008/12/25(木) 20:01:13 ID:???.net
JPのGoogleGroupのオーナーの知り合いって
いないんですかね?

Thomasが
>I like to delete the spam messages
>in this forum. The person / company that started this Japanese Forum
>does not respond unfortunately.
http://groups.google.co.jp/group/h2-database-jp/browse_thread/thread/8a5714506a4b3145#

ってスパム消したいけど・・・って困ってるみたいなんですけど。

91 :NAME IS NULL:2009/01/04(日) 01:59:54 ID:???.net
というか自前でフォーラム建てろよ…
もちろんバックエンドを H2 でさぁ…
組込み特化だけで終わる気なら別にいいんだけどさぁ…
つか、開発自体にパワーを割きたいのはわかるけどさぁ…
フィードバック自体が少な過ぎるのも問題だよ…

92 :NAME IS NULL:2009/01/07(水) 22:32:29 ID:???.net
>>90
オーナーと連絡取れたみたいですね
よかったです
でも、Thomas、マネージャになってもいいと思うんだけどメンバーだよねぇ・・・

93 :NAME IS NULL:2009/01/09(金) 23:54:25 ID:???.net
>>91
>自前でフォーラム
>>23という経緯があるから難しいんじゃないかな

94 :NAME IS NULL:2009/02/14(土) 23:59:13 ID:MzWx8IKc.net
最近存在を知りました。期待age


95 :NAME IS NULL:2009/02/18(水) 19:45:09 ID:V5MyxaOb.net
>>63
  ∧,,∧
 ( `・ω・) ウーム…ここは?
 / ∽ |
 しー-J


96 :NAME IS NULL:2009/03/13(金) 00:06:00 ID:???.net
try
{
net.2ch.pc11.test.read.db.H2DB.currentThread.getUser();
}
catch (NullPointerException e)
{
System.err.println("ぬるぽ");
System.err.println(e.toString());
}

97 :NAME IS NULL:2009/04/05(日) 00:56:15 ID:???.net
Version 1.1.110 (2009-04-03) released

ttp://www.h2database.com/html/changelog_ja.html

98 :NAME IS NULL:2009/04/16(木) 21:05:00 ID:ERAG7UWu.net
Version 1.1.111 (2009-04-10)
ttp://www.h2database.com/html/changelog_ja.html


99 :923:2009/04/16(木) 21:07:11 ID:TozpFWZO.net
大きいトランザクションを実装したとき問題になることって何でしょうか?


100 :NAME IS NULL:2009/04/19(日) 01:45:43 ID:twRaraWu.net
>>99
本当に、こんな大きいトランザクションが必要なのか?

実装中にそんな事を考え続け、
眠れない夜を過ごすのは大いに問題

その後、過去の自分の実装を思いだし、
こうしとけば良かった、ああしとけば良かった、
と思い悩み、悶々し続けるのも問題

73 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★