ホームページ >データベース >mysql チュートリアル >MySQL の主キー INT と VARCHAR: データ型はパフォーマンスに本当に影響しますか?

MySQL の主キー INT と VARCHAR: データ型はパフォーマンスに本当に影響しますか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-18 08:53:10739ブラウズ

INT vs. VARCHAR Primary Keys in MySQL: Does Data Type Really Impact Performance?

MySQL における INT と VARCHAR 主キーのパフォーマンスへの影響

参照用の主キーとして INT と VARCHAR の最適な選択をめぐる議論MySQL のリストは開発者の間で議論のテーマとなっています。 INT はその数値的な性質により優れたパフォーマンスを提供すると主張する人もいますが、VARCHAR は参照情報を直接表現できると主張する人もいます。

この問題に対処するために、さまざまなテーブル構成とクエリ タイプについて包括的なパフォーマンス テストを実施しました。私たちの調査結果では、参照リストに使用した場合、INT と VARCHAR 主キーのパフォーマンスにごくわずかな違いがあることがわかりました。

実験セットアップ

  • システム仕様: インテル® コア™ i7-7500U CPU @ 2.70GHz × 4、15.6 GiB RAM、 148.6 GB SSD ドライブ
  • MySQL バージョン: Ver 14.14 Distrib 5.7.20、Linux (x86_64) 用
  • テーブル: INT (10)、CHAR(6)、および VARCHAR( 63) 主キーとしてのデータ型、別の列のインデックスの有無(myindex)

テスト手順

  • 各テーブルに 1,000 万行を挿入
  • count(*) クエリの実行myindexをフィルターとして使用した各テーブル
  • を使用した実行時間の測定BENCHMARK() 関数

結果

Table Name Time (sec)
jan_int 21.30
jan_int_index 18.79
jan_char 21.70
jan_char_index 18.85
jan_varchar 21.76
jan_varchar_index 18.86

上の表に示されているように、クエリの実行時間は 6 つのテーブル構成すべてで実質的に同じでした。そしてなしで

結論

私たちの実験結果は、参照リストの特定の使用例では、INT と VARCHAR を主キーとして使用する場合に大きなパフォーマンスの違いがないことを示唆しています。 MySQL。したがって、2 つのデータ型のどちらを選択するかは、データ モデルの明確さや保守性など、他の要素によって決定される可能性があります。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。