テーブルのインデックス作成に関するアドバイスを読んだところ、後で SQL クエリの実行が遅いときにインデックスを導入する必要があることがわかりました。
私の問題は、ほとんどすべての列を 1 つのテーブルにインデックス付けすることです。このテーブルは他のテーブルに関連付けられています。たとえば、users テーブルの列 country は country テーブルに関連付けられています。
user table country table
id id
countryId name
列にインデックスがない場合は外部キー制約を作成できないため、countryId 列にインデックスを追加して、それを国テーブルの ID にリンクできるようにしました。
基本的に、列に制約を追加するためだけに、他のテーブルにリンクされている多くの列があります。
たとえば、国テーブルは 100 を超えないため、誰かが誤って 101 の値を挿入した場合、国テーブルには 1 ~ 100 しかないため、mysql はそのデータを受け入れません。
では、インデックスを追加せずにテーブル データ制約の機能を維持するにはどうすればよいでしょうか。