0

次の定義でファイル/フォルダー構造を保存するデータベーステーブルがあります。

id    parentid     fileOrFolderName
111    222          aaa.txt
222    333          folderA
333    Root         folderB
444    222          bbb.doc

…………

「ルート」は、事前定義されたルート フォルダの特別な ID です。したがって、上記のレコードは次のことを意味します。「ルートフォルダー\フォルダー B\フォルダー A\aaa.txt」にあるファイルがあり、その ID は「111」です。

ここで、ファイルのフル パスが与えられたので、その ID を取得したいと思います。例えば:

GetFileId("RootFolder\folderB\folderA\aaa.txt") は "111" を返します。

このテーブルには約 10 ~ 50,000 のレコードがあります。GetFileId 関数を正しく効率的にコーディングするにはどうすればよいですか?

この質問は言語やデータベースに限定されません。必要なのは正しいアルゴリズムです。前もって感謝します。

4

1 に答える 1