現在、外部キーについて学習しており、データの整合性を保証するために、自分のアプリケーションでできるだけ多くのキーを追加しようとしています。私はMySQLのINNODBを使用しています。外部キーを追加するすべての列にインデックスを付けます
私clicks
テーブルは、構造体のような何か...約12 _id列に対する
id, timestamp, link_id, user_id, ip_id, user_agent_id, ...
などがあります。
明らかにこれらのすべてが他のテーブルを指しているので、私はそれらに外部キーを追加する必要がありますか? MySQLはすべての外部キーに対して自動的にインデックスを作成しています。したがって、基本的に私はすべてのカラムにインデックスを持っていますか?これは私が欲しいものですか?
FYI - この表は基本的に私の一番大きなテーブルです。私の研究では、基本的に、パフォーマンスの犠牲を犠牲にしていると言われていますが、パフォーマンスの低下がどれほど厳しいかは示唆されていません。