|
by takkan_m 最新のコメント
links
検索
最新のトラックバック
カテゴリ
以前の記事
ライフログ
お気に入りブログ
おすすめキーワード(PR)
ファン
|
2005年 07月 21日
前に、研究のため、
自分のノートパソコンにデータベースをつくったが、 500Mこえるデータ量をいれておくわけにはいかないので、 破棄して、登録する量をへらして 今テスト中。 最初は、シーケンシャルに、 一つのテーブルに、全部つっこんだが、 ruby/mysqlをつかって、 そこから、select文をつかって、数件のデータをとりだそうとすると、 10秒近くかかる。 最初は、rubyの実効速度の遅さかとおもったが、 mysqlコマンドをつかって、ターミナルでやっても、 それぐらいかかる。 まあ、65000件以上のデータから探してくるから、 しょうがないんだけど。 というわけで、 ちょっと、データ構造をかえてみた。 データの中に、重複される要素があるので、 それを一つのテーブル名としてつくれば、 検索件数がさがるから、はやくなるのではと思ったが、 ちょっとしたトラブル発生。 なぜか、createできないテーブルがある。 テーブル名double。 型名でdouble型があるから、 予約語っぽい。 一応、doublesで登録しようとしてみると、 すんなり登録できる。 なので、また構造になやむ。 ただ、部分テストのような段階で、 このエラーがでたからたすかった。 全体のデータでやるときにでたら、 たぶん、むりぽ。 ちょっと悩んで、思い付いたのが、 テーブル名と、単語の対応づけしたテーブルをつくる。 そこで、単語を検索してから、そのテーブル名をつかって、 目的データをとりだす。 正規化ではないと思うが、そんなかんじ。 これは、登録成功。 で、select文を2個つかって、検索。 今度は、体感できるほど、レスポンスがよい。 まあ、あれだね。 データベースをつくるときは、 データがいれやすい形になっていても、 構造は考えなくちゃいかんね。 こんな感じに、SQLいじってると、なんか、 SEにでもなった気がしてしまいます。 < 前のページ次のページ >
|