私は、GRE単語や各単語のその他の詳細を管理できるDjangoのアプリケーションを作っています。だから私が学んだ新しい単語を追加するたびに、単語とその詳細をアルファベット順にデータベースに挿入する必要があります。また、検索中に、私はデータベースから抽出したい特定の単語の詳細が必要です。Django - データベースに昇順でエントリを効率的に追加するにはどうすればいいですか?
効率が主な問題です。
SQLiteを使用する必要がありますか?ファイルを使うべきですか? JSONオブジェクトを使用してデータを格納する必要がありますか? ファイルを使用するのが最も効率的な場合、どのデータ構造を実装する必要がありますか? 効率的にこれを行うためのDjangoの関数はありますか? 各単語には意味、文、絵、根があります。どのようにこの情報をすべて保存する必要がありますか?
答えがDjango固有ではなく、アルゴリズムやデータベースの種類について話し合っても問題ありません。
私の最初の質問は、挿入時にアルファベット順を維持する理由でしょうか?つまり、その挿入に続くすべてのテーブルレコードを自動的に変更する必要があります。データベースからソートされた結果を取得できます。 djangoでは、order_by( "field_name")を使用できます。用語やアルゴリズムでは、特殊なデータ構造を使用しない限り、そのようなアプローチは遅いです。どのような種類のデータ構造を使用してデータベースインデックスを作成するかを見てみましょう。 – chaos
検索フィールドに誰かが何文字か入力すると、すべての辞書のように、それらの文字から始まるすべての単語が表示されます。確かに私はそれについて読むでしょう。 –
データベースにデータがどのように格納されているか気にする必要はありません。それはまったく自分の懸念事項です。データがどのように戻ってくるかだけを気にする必要があります。これは注文によって制御できます。 –