インターネットには、真実のように見える「噂」がたくさんあります。もちろん、悪意のあるものではありません。そのほとんどは、開発者が自ら率先して調査することを望まず、代わりに他の人の言うことを信じているためです。 データベースに関しては、「int のパフォーマンスは char よりもはるかに高い」といった噂も数多くあります。 最近、int、long、char、varchar のパフォーマンス テストを実施しましたが、実際にはそれらのパフォーマンスに大きな違いはないことがわかりました。 注: c8=char(8)、s8=varchar(8)、i8=(bigint)、c4=char(4)、s4=varchar(4)、i4=char(4) インデックスなしで 100 万行をクエリします。
インデックスを作成します。
インデックス付きクエリ:
結論は: インデックスなし: データが小さくなるため、テーブル全体のスキャンは高速化されませんが、全体的な速度は同じで、ネイティブ型としての int/bigint はわずかに 12% 高速になります。 インデックス付き: char と varchar のパフォーマンスは同等ですが、int はわずかに 18% 高速です。 データの保存、読み取り、書き込みに関しては、整数は同じ長さの文字列と同じですが、varchar には余分なバイトがあるため、パフォーマンスがわずかに影響を受ける可能性があります (1/n)。 データ操作と比較に関しては、整数はネイティブ サポートの恩恵を受けるため、文字列よりもわずかに高速になります。 インデックスを使用すると、整数と文字列のパフォーマンスの違いはさらに小さくなります。 実際の開発では、多くの開発者がchar(1)やchar(4)などの文字列を使用して型列挙を表すことがよくあります。私の意見では、このアプローチは、ストレージスペース、コンピューティングパフォーマンス、可読性、保守性、スケーラビリティの点でintやenumなどのデータ型よりもはるかに優れているため、最適なソリューションです。 以下もご興味があるかもしれません:
|
<<: Linux のバックグラウンドで & と nohup を使用する方法
httpリターンコードリスト(以下は概要です)詳細な中国語の説明についてはここをクリックしてくださ...
1. まず、2つ以上の隣接する通常フローブロック要素の垂直マージンの崩壊を引き起こす原因を知る必要が...
序文一部の CSS 相互作用の影響により、要素に設定されたz-index実際のサイズに応じて重ね合わ...
1. LVM の概要Linux ディスクを管理するときに、このような状況に遭遇することがよくあります...
1. ウィンドウ -> 設定を選択してEclipseの設定パネルを開きます。 2. 「設定」ウ...
最近、HTML を再度学習しており、これは HTML に対する新たな理解と言えます。これを過小評価し...
目次クラス void のポイントES6 矢印関数ヴュートファイvue-cli非同期と同期実行と展開ヒ...
最適化のアイデア最適化には主に 2 つの方向があります。再レンダリングの回数を減らします。 Reac...
1. Vueプロジェクトのパッケージ化開発されたvueプロジェクトに次の名前を入力し、パッケージ化し...
数日前にプログラムを書いていたとき、プロンプト情報 (TITLE) を新しい行で囲みたいと思いました...
この記事では、最も単純なものから最も複雑なものまで、Nginx の現在の制限構成を例を使って説明しま...
目次事件の原因Node Scheduleを使用してスケジュールされたタスクを実装する1. node-...
Nextcloud は、オープンソースで無料のプライベート クラウド ストレージ ネットワーク ディ...
Docker の人気と成熟に伴い、Docker は徐々にプロジェクトをデプロイするための第一の選択肢...
具体的なコードは次のとおりです。 <a href="#"> <...