ファイルへのアクセス方法@Perl初心者
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGちょっとしたデータベースファイルなのですが、全レコードは
8000件あります。
あるキーワードが入っているレコードを探すのには、
どのようなプログラムが良いですか?お知恵を拝借願います。
(今は、8000件を上から探しているプログラムになっております。
その為、時間がかかってしょうがないのです。
これからもレコードは増えていく一方なので、レコードが増える
分、検索時間も増えていく形になっています。)
0002デフォルトの名無しさん
NGNGWebProg板にゆけばいくらでもあるんだから。
0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNG0005デフォルトの名無しさん
NGNGまぁいいけどGREPつかえ。
0006デフォルトの名無しさん
NGNG0007デフォルトの名無しさん
NGNG0008デフォルトの名無しさん
NGNG0009デフォルトの名無しさん
NGNG0010デフォルトの名無しさん
NGNGgrep あるキーワード < 元.cvs > 結果.cvs
0011棄教者 ◆witdLTi2
NGNGやってみたらどうですか? 順次検索で逝くとO(n)かかるのがO(log n)でできますよ
0012初心者
NGNG「2分木検索」って、いったん全部読んで、2 分木構造を作るんじゃないん
ですか?
それなら順次検索のほうが速いような気がするんですが。
私は何か思い違いをしているのでしょうか?
0013デフォルトの名無しさん
NGNG2分探索じゃないの?
あらかじめ 整列させておいて、
真ん中のレコードと比較するやつ。
キーになる要素が一つしかないので
あれば、有効のような気もする。
0014デフォルトの名無しさん
NGNG0015デフォルトの名無しさん
NGNG一番まっとうな回答としては
「ちょっとしたデータベースファイル」ではなく
現在の実用に耐えるデータベースでも導入しろ
だな(Acessとか無料のDBとかOracleは無理に導入する規模ではない)
まっとうでない回答としては
1. 固定長レコードにしろ
2. インデックスファイルを作れ
3. あらかじめファイルをキーワードでソートしておけ
結局csvの利点である汎用性をある程度犠牲にしないと高速化は無理
0016棄教者 ◆witdLTi2
NGNG>>1を読まずにカキコしていましたね すまそ
>あるキーワードが入っているレコードを探すのには、
>どのようなプログラムが良いですか?お知恵を拝借願います。
探すだけなら「二分木」じゃなくて「二分」検索ですね
てっきりレコードを一回読み込んで*複*数*回*の処理をすると思っていたんですよ.
一回だけ探してそれをレポートして終わりなら
木を構成するだけめんどくさいですね
データベース導入とか言う意見がありますがぼくも同意見です
ぼくもデータベースの管理をPerlでやっていたのですが
あまりにもデータが多くなってきたので
PostgreSQLを導入して DBI / DBD::Pg を使って
PerlからPostgreSQLなコマンドを送り込んでいます
0017デフォルトの名無しさん
NGNG0018デフォルトの名無しさん
NGNGデータベース役やってもかまわないと思うが。
0019デフォルトの名無しさん
NGNG0020デフォルトの名無しさん
NGNG0021perler
NGNG読み書きしなければならないのですが、どのようにアクセスすれば良いのでしょうか?
0022デフォルトの名無しさん
NGNG0023デフォルトの名無しさん
NGNG\\他のパソコン\パス
をオープンしろ
■ このスレッドは過去ログ倉庫に格納されています