私は BerkeleyDB を使用して小さなアプリを開発しています。また、BDB でデータベースを複数回開くことについて質問があります。
大量のテキスト (コーパス) があり、その一部を読み込んで計算を実行したいと考えています。ここに2つの疑似コード(Pythonと混合)があります
@1
def getCorpus(token):
DB.open()
DB.get(token)
DB.close()
@2
#open and wait
def openCorpus():
DB.open()
#close database
def closeCorpus():
DB.close()
def getCorpus(token):
DB.get(token)
2 番目の例では、計算の前にデータベースを開き、ループごとにトークンをロードしてからデータベースを閉じます。
最初の例では、ループがトークンを要求するたびに、データベースを開き、取得してから閉じます。
パフォーマンスが失われることはありますか?
また、DBEnv を使用してデータベースを管理していることにも注意してください。