質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.45%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

意見交換

クローズ

2回答

700閲覧

Javaによる性能を考慮したファイル文字列検索を行いたい

退会済みユーザー

退会済みユーザー

総合スコア0

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2023/03/19 10:55

0

0

実現したいこと

・Javaで、入力文字列とファイル中の文字列をマッチングして情報を取得したい。
・ファイルは階層ごとに分割されている。

・例えるならば、全国住所ファイルがあり、入力住所文字列を全国住所ファイルとマッチングし、住所コードを取得する。
ファイルは都道府県、市区町村、大字通称、字丁目に分かれていて、順次コード化しながら下位階層のファイルを検索していく。
・市区町村以降のファイルは、住所コード+文字列で検索可能
・階層が下がるほど、レコード件数が多くなる。

ファイルのレコード件数が多く、また文字列検索処理であるため、性能を考慮した作りにしなければ要件を満たせないと考えています。ファイル参照の場合、処理が遅くなると考えていますが、具体的にどのような作りにすれば良いか分からないため、ご教示いただけると幸いです。

先輩に聞いたところ、ファイルをメモリに展開することをアドバイスとしていただきましたが、レコード件数(約100万)が多く、メモリ展開で対応できるか否か不明です。
また、メモリ展開の仕方もよく分かっておりません。

よろしくお願いします。

前提

発生している問題・エラーメッセージ

該当のソースコード

試したこと

補足情報(FW/ツールのバージョンなど)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

回答2

#1

Zuishin

総合スコア28662

投稿2023/03/19 11:18

データベースというものがあるので調べてみましょう。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#2

jimbe

総合スコア12773

投稿2023/03/19 13:50

編集2023/03/19 13:54

先輩に聞いたところ、ファイルをメモリに展開することをアドバイスとしていただきましたが、レコード件数(約100万)が多く、メモリ展開で対応できるか否か不明です。
また、メモリ展開の仕方もよく分かっておりません。

先輩がそういうのなら、まずはその仕方や対応できるかを調べるのが先ではありませんか。
相談しておきながらそれについて何も調べずに他人に同じことを聞くのは、先輩に失礼では無いでしょうか。
また、性能を考慮するのなら具体的な情報が必要です。「例えば」を元にあらゆることに対応するような最適解はありません。

ところで、中身無く放置されている「Javaで性能を意識したテーブル検索処理」はどうされるのでしょうか。
不要なら運営に削除依頼を出されたほうが良いと思います。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

最新の回答から1ヶ月経過したため この意見交換はクローズされました

意見をやりとりしたい話題がある場合は質問してみましょう!

質問する

関連した質問