mysql インデックスのパフォーマンスはデータ型に依存しますか?
もしそうなら、そのような場合に使用するのに最適なデータ型は何ですか?
また、重複値が少ない列にインデックスを保持することが重要ですか、それとも膨大な重複値を持つ列に適用しても同じパフォーマンスが得られます。
前もって感謝します!
インデックスはさておき、最適なデータ型とは、ドメインの要件を満たす最小のものです。
列のデータ型は、それらの列のインデックスのパフォーマンスに影響を与えます。
小さいほどよい。
整数列のインデックスが最適です (小さく、高速)。
特定のインスタンスでは、オプティマイザーは、インデックスの選択性が十分でない場合 (つまり、列に多くの繰り返し値があり、検索された値が統計から決定された結果、「多すぎる」行になる場合)、インデックスを使用しないことを選択する場合があります。
@ nani1216 が投稿したリンクから:
インデックスを作成する列のサイズは重要です。データベース サーバーが検索またはインデックス作成する必要があるデータが少ないほど、高速になり、ディスク (またはメモリ内) で使用するストレージが少なくなるためです。
はい、パフォーマンスはデータ型の使用によって異なります。integer データ型にインデックスを作成すると、char または varchar データ型にインデックスを作成するよりもパフォーマンスが向上します。