私は、列の1つがテーブルからいくつかの行をグループ化するために使用される一種のID文字列であるテーブルを持っています。列名が「マップ」で、マップの値の1つがたとえば"ウォルマート"。列にはインデックスがあります。なぜなら、特定のマップに属する行をフィルタリングするためです。MYSQLは、同じ文字列が複数の行に格納されている場合に最適な方法で格納しますか?
私はそのようなマップをたくさん持っており、異なるマップ値がテーブルからどれくらいのスペースを占めるか分かりません。 MYSQLは複数の行に同じマップ値が格納されていることを認識し、内部で一度だけ格納し、内部数値IDで参照するだけですか?
または、マップ文字列を明示的に数値IDで置き換え、テーブルのサイズを小さくしたい場合は、マップ文字列とIDをペアにするために別のテーブルを使用する必要がありますか?
奇妙なMYSQLはできません。列にインデックスがあるため、値が複数回使用されているかどうかを知ることができます。私はオプションを調べます。 –