ホームページ > データベース > mysql チュートリアル > 参照リストの INT または VARCHAR 主キー: パフォーマンスは本当に重要ですか?

参照リストの INT または VARCHAR 主キー: パフォーマンスは本当に重要ですか?

Patricia Arquette
リリース: 2024-12-21 12:03:10
オリジナル
150 人が閲覧しました

INT or VARCHAR Primary Keys for Reference Lists: Does Performance Really Matter?

INT 対 VARCHAR 主キー: パフォーマンスに関する誤解を打ち破る

MySQL における主キーの INT と VARCHAR の選択は、特に特に参考文献リストについて。 INT が従来の選択肢ですが、情報を直接提示できるため、VARCHAR の人気が高まっており、JOIN の必要性が減る可能性があります。

この記事の目的は、主キー INT と VARCHAR を使用した場合のパフォーマンスへの影響を調査することです。特定の使用例: 米国の州や国コードなどの参照リスト。

ベンチマーク結果

パフォーマンスの違いを評価するために、以下で構成されるセットアップを使用して一連のベンチマークを実施しました。

  • Intel® Core™ i7-7500U CPU @ 2.70GHz × 4
  • 15.6 GiB RAM
  • Ubuntu 16.04 64 ビット
  • MySQL Ver 14.14 Distrib 5.7.20

2 セットのテーブルが作成されました: INT テーブルと VARCHAR テーブル (それぞれインデックス付きとインデックスなし)。次に、テーブルに 1,000 万行を追加し、各テーブルに対してベンチマーク クエリを実行して、特定の行の取得に必要な時間を測定しました。

ベンチマーク クエリ実行時間

ベンチマーク クエリの実行時間は次のとおりです:

  • jan_int: 21.30 秒
  • jan_int_index: 18.79 秒
  • jan_char: 21.70 秒
  • jan_char_index: 18.85 秒
  • jan_varchar: 21.76 sec
  • jan_varchar_index: 18.86 sec

分析

結果は、INT と VARCHAR 主キー間のパフォーマンスの違いが参考のために最小限であることを示していますリスト。ベンチマーク クエリの実行時間は、キーがインデックス付けされているかどうかに関係なく、相互に数百ミリ秒以内です。

これは、VARCHAR 主キーを使用して JOIN を減らすことによるパフォーマンス上の利点が、追加のキーによって相殺されることを示唆しています。可変長データの保存のオーバーヘッド。

結論

に基づくベンチマーク結果から、米国の州や国コードなどの参照リストの場合、主キーの INT と VARCHAR の選択は、主にパフォーマンスではなく好みの問題であると結論付けることができます。パフォーマンスの違いはごくわずかであり、データの一貫性や将来のスケーラビリティなどの他の要素が決定に影響を与える可能性があります。

以上が参照リストの INT または VARCHAR 主キー: パフォーマンスは本当に重要ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート