- ベストアンサー
データの検索速度を上げるには
ヴァル研の『駅すぱあと』やカーナビのルート検索など、 速い検索速度を求められるアプリケーションは、 どの様な検索方法(検索アルゴリズム?)を用いて、 それを克服しているのでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
(1)最短経路を求めるアルゴリズムは有名なものがあります ダイクストラ法 (2)ソートに付いては教科書的なアルゴリズムのほかに ディスク(外部記憶)とメモリを効率的に組み合わせる方法が今も、ソフト会社で研究されていると思います。 (3)結局速くするには A。マシンスピード B。本番には早く検索結果が出るように、OFFの時間に 準備をする。(例えばインデックス、インバーテッドファイルを作る。) C。データ検索処理に、総舐め法(とくにディスク)を出来るだけなくす。 しかないと思いますが、各社各ニーズとデータ量に応じて 工夫していて、技術者の移動以外は、門外不出のものと思います。知的財産ですから。 大学院か企業の研究所レベルのテーマを、一般向けのOKWEBになぜ質問するのでしょうか??4-5百文字の回答、コンピュタカテでは数学的な問題が絡んだ質問には回答が極く少ない現状を(ご存知ないかも知れないが)考えてください。 例えば、グラフ理論とか、XX法を使うというお答えに、非常に参考になったと言うならそれで良いのですが。 情報系大学出身者がいれば、そのつてで、有力ソフトメーカーが関係あるならその伝で、関連論文や技法など教えてもらうべきでしょう。その場合資本主義社会、知価社会ですから経済的な考慮のことは当然必要でしょう。
その他の回答 (3)
- ham_kamo
- ベストアンサー率55% (659/1197)
#2です。#1さんへのお礼と入れ違いになったので補足です。 さっき書いた >単純なRDBでは難しい気がします。 というのは、駅すぱあとやカーナビでは、ということです。 RDBでの処理の高速化という点では、#1さんの書かれたような手法が一般的だと思います。
お礼
ありがとうございます。 私が知りたい内容(RDBでの高速検索)と例(駅すぱーと) が本質的に違ってました。申し訳ありませんでした。
- ham_kamo
- ベストアンサー率55% (659/1197)
グラフ理論を用いているのだと思います。単純なRDBでは難しい気がします。 「グラフ理論」で検索するといろいろでてきます。(参考URLは一例です)
- popesyu
- ベストアンサー率36% (1782/4883)
基本的にはSQL文を工夫したり、インデックスをつけたり。アルゴリズムというよりはデータベースの処理の工夫です。
お礼
早速の返事、ありがとうございます。 自分はソフト開発には直接タッチしていませんが、 会社が販売しております会員検索ソフトの検索処理 を何とか早くできないか、と情報(よい知恵)を集めて います。 DB(Microsoft SQL)に登録された10万件の会員データ の中から、複数の登録項目からなる条件で抽出する。 開発は、デルファイです。現状、数10分かかります。 抽象的な説明ですみません。
お礼
ありがとうございます。 DBの検索スピードをUPさせる方法で、何かヒントがあればと投稿しました。