1. ホーム
  2. django

[解決済み] インデックスの追加 (db_index=True)

2023-06-30 07:49:44

質問

Django のコーディングスタイルについての本を読んでいるのですが、彼らが議論していることのひとつに db_index=True . Django を使い始めて以来、私はこの関数が何をするのかよく分からないので、一度も使ったことがありません。

そこで質問なのですが、いつインデックスの追加を検討するのでしょうか?

どのように解決するのですか?

これは本当に django 固有のものではなく、もっとデータベースと関係するものです。 そのカラムの検索を高速化したいときに、カラムにインデックスを追加します。

一般的に、データベースは主キーにのみインデックスを付けます。これは、主キーを使った検索が最適化されることを意味します。

二次カラムで多くのルックアップを行う場合、そのカラムにインデックスを追加してスピードアップすることを検討してください。

スケールのほとんどの問題と同様に、これらは統計的に大きな数の行がある場合にのみ適用されることに留意してください(10,000は大きくない)。

さらに、挿入を行うたびに、インデックスを更新する必要があります。そのため、どの列にインデックスを追加するかには注意が必要です。

いつものように、測定できるものしか最適化できません。 EXPLAIN 文とデータベースログ(特に遅いクエリログ)を使用して、インデックスが有用な場所を見つけることができます。