INT 対 VARCHAR 主キー: パフォーマンスに関する誤解を打ち破る
MySQL における主キーの INT と VARCHAR の選択は、特に特に参考文献リストについて。 INT が従来の選択肢ですが、情報を直接提示できるため、VARCHAR の人気が高まっており、JOIN の必要性が減る可能性があります。
この記事の目的は、主キー INT と VARCHAR を使用した場合のパフォーマンスへの影響を調査することです。特定の使用例: 米国の州や国コードなどの参照リスト。
ベンチマーク結果
パフォーマンスの違いを評価するために、以下で構成されるセットアップを使用して一連のベンチマークを実施しました。
2 セットのテーブルが作成されました: INT テーブルと VARCHAR テーブル (それぞれインデックス付きとインデックスなし)。次に、テーブルに 1,000 万行を追加し、各テーブルに対してベンチマーク クエリを実行して、特定の行の取得に必要な時間を測定しました。
ベンチマーク クエリ実行時間
ベンチマーク クエリの実行時間は次のとおりです:
分析
結果は、INT と VARCHAR 主キー間のパフォーマンスの違いが参考のために最小限であることを示していますリスト。ベンチマーク クエリの実行時間は、キーがインデックス付けされているかどうかに関係なく、相互に数百ミリ秒以内です。
これは、VARCHAR 主キーを使用して JOIN を減らすことによるパフォーマンス上の利点が、追加のキーによって相殺されることを示唆しています。可変長データの保存のオーバーヘッド。
結論
に基づくベンチマーク結果から、米国の州や国コードなどの参照リストの場合、主キーの INT と VARCHAR の選択は、主にパフォーマンスではなく好みの問題であると結論付けることができます。パフォーマンスの違いはごくわずかであり、データの一貫性や将来のスケーラビリティなどの他の要素が決定に影響を与える可能性があります。
以上が参照リストの INT または VARCHAR 主キー: パフォーマンスは本当に重要ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。