民芸的プログラミング 〜ソフトウェア開発日記〜

アクセスカウンタ

zoom RSS SQLiteの面白さ(16) あらためてインデックスの大切さを知る

<<   作成日時 : 2008/06/24 09:26   >>

なるほど(納得、参考になった、ヘー) ブログ気持玉 1 / トラックバック 0 / コメント 0

これまでMS-Access、MySQLなどを使う機会は多々あったのだが、データベースのインデックスに関して、深く考えたことはあまりなかった。頻繁に検索をかけるカラムにインデックスを作っておくと速くて便利だというくらいの認識だった。
それが今回、300万件を超えるデータを扱ってみてわかったのだが、「適切にインデックスを作成しておかないと、仕事にならない」。インデックスがあればほぼ一瞬で結果が取り出せるのに対して、それがなければ3時間、しかもその間はPCがほぼ使い物にならない。
普段は数千件のDBしか扱っていなかったので「インデックス作っておくと速いね」くらいの認識で、何時間もレスポンスがなくなるような事態というものをまったく想定できていなかった(何度か十万件単位のDBを扱った際は、単にまぐれで有効なインデックスを作っており、支障が生じていなかった)。

細かく見ていくと、SQLiteがインデックスを使う条件には色々とあるようで、これをまた調べないと、SQLiteを効率的に使いこなすことはできない。SQLiteがシンプルだといっても、勉強しなければいけないことはたくさんあるようだ。
参考:
http://www.sqlite.org/optoverview.html

ある意味、DBに関してあやふやな知識でも使えてしまうMS-Accessがよくできているということでもあったのだろうけれど、結局、Accessで処理が困難な件数のDBに直面したところで、「ああ、あの時基礎をきっちりとやっておけば」ということになるのだ...そういう事態にならずに一生を過ごす人のほうがはるかに多いのかもしれないが。

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ
気持玉数 : 1
なるほど(納得、参考になった、ヘー)

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
SQLiteの面白さ(16) あらためてインデックスの大切さを知る 民芸的プログラミング 〜ソフトウェア開発日記〜/BIGLOBEウェブリブログ
文字サイズ:       閉じる