2014年8月3日日曜日

データベースを使う

すべてオンメモリで動かせば、データベースを使う必要はないだろう。と、思ったが、結構でかい。全部読み込んだらエラーが出る。ヒープ領域を大きくすればいいのかもしれないが、すべてをメモリに読み込むのは止めることにした。それにあたり、Json形式でファイルを保存することにしていたが、読み込み時にデータをしぼることを考えれば、やはりデータベースを使うほうがいいだろう。なお、PCではなく、Google Appを使うことを考えたら、BigTableに置き換えることを想定したほうがいいのだが、普通にSQLを使う。JavaではDerbyを使うのがいいようだ。で、ライブラリに、ダウンロードしたderby.jarを追加した。
String CREATEHORSETABLE
"create table Horse "
"(name varchar(20) NOT NULL, term smallint NOT NULL, "
"place smallint NOT NULL, day smallint NOT NULL, "
"rnum smallint NOT NULL, date date NOT NULL, frame smallint, "
"number smallint, ordernumber smallint, time smallint, "
"popularity smallint, weight smallint, loadweight real, "
"threefurlong real, odds real, passorder char(20), "
"PRIMARY KEY(name, date))";
Connection conn = DriverManager.getConnection("jdbc:derby:/Users/tkydevelop/Documents/workspace/HorseRaceAnalyzer/db;create=true");
Statement s = conn.createStatement();
s.execute(CREATEHORSETABLE);
のようにしてテーブルを作成した。

0 件のコメント:

コメントを投稿