検索パフォーマンスは最速から最遅まで次のとおりです (私が聞いたところによると)。
説明(再録): 整数型 1. TINYINT、SMALLINT、MEDIUMINT、INT、BIGINTはそれぞれ8、16、24、32、64バイトを使用します。 2. 整数にはすべてオプション属性 UNSIGNED があります (たとえば、tinyint フィールドの値の範囲は unsigned の場合 0 ~ 255 ですが、signed の場合の範囲は -128 ~ 127 です。したがって、負の値が必要ないことが明らかな場合は、通常、負の数をサポートするために signed を設定しません)。 3. INT(1)とINT(20)は保存と計算において同じです。INT(N)のNは、一部の対話型ツールによって表示される文字数のみを指定します。 文字タイプ charは固定長で、ストレージ効率はvarcharほど良くありませんが、短いデータのクエリにはvarcharよりも劣ります。 固定長。たとえば、uuid が主キーとして使用されている場合は、char の方が適切です。 NULL型 1. NULL列のインデックスには余分なスペースが必要 2. 比較と計算中にNULL値が処理され、インデックスの失敗を引き起こす可能性があります。 したがって、NULL型の使用は避け、整数型を使用するようにしてください。 さらに、時間日付データ型 1. 日付データを保存するのにスペースを無駄にする文字列を使用しないでください。 2. DATE は、1001 年から 9999 年までの年を秒単位の精度で保存できます。日付と時刻を 8 バイトを使用して YYYYMMDDHHMMSS 形式の整数にカプセル化します。 3. TIMESTAMP は、Unix タイムスタンプと同じ、1970 年からの秒数を格納します。1970 年から 2038 年までしか格納できず、4 バイトを使用します。 4. 2つの関数FROM_UNIXTIME()とUNIX_TIMESTAMP()は日付とUnixタイムスタンプを変換します。 5. DATE と TIMESTAMP は時間を保存しますが、時間はどこにありますか? ? ?前者はどこにいても(タイムゾーンに関係なく)時間を表すもので、後者はグリニッジ標準時です。 。つまり、保存時に、与えられた時間に応じて DATE を保存し、保存前にタイムゾーンと与えられたタイムスタンプに基づいて、対応するグリニッジ標準時に応じて TIMESTAMP を最初に計算します。アクセスすると、保存された時間に応じて DATE が返され、保存されたタイムスタンプ (グリニッジ標準時とみなされます) とタイムゾーンに応じて TIMESTAMP が計算され、タイムゾーン内の対応する時間が計算されます。 6. 通常はTIMESTAMPが使用され、スペース効率が高い 7. MYSQL は、秒未満の粒度の日付と時刻の値を提供しません。必要に応じて、BIGINT を使用してマイクロ秒レベルのタイムスタンプを保存するか、DOUBLE を使用して秒後の小数部分を保存できます。 実数型 1. DECIMALは財務目的で使用される 2. DECIMALはBIGINTの範囲外の整数を保存できる 3. FLOATとDOUBLEは、近似計算に標準的な浮動小数点演算を使用します。 char と varchar 1. char は固定長、varchar は可変長です。つまり、varchar はスペースを節約します (ROW-FORMAT=FIXED を使用して作成しない限り) 2. varcharは可変長なので、UPDATE中に長さが長くなると、追加の作業が行われます。 3. 文字列列の最大長が平均長よりもはるかに大きい場合、列がめったに更新されない場合(断片化が問題にならない場合)、UTF8 などの文字セットが使用されている場合(各文字が異なるバイト数を使用して格納される場合)には、varchar を使用します。 4. CHARは次のような場合に適しています: 非常に短い、またはすべての値が同じ長さに近い場合(MD5など)、列が頻繁に変更される場合 5. 末尾のスペースの問題: 上位バージョンの varchar では末尾のスペースが保持されますが、char および下位バージョンの varchar では末尾のスペースが削除されます。 6. CHAR(N) と VARCHAR(N) では、N はバイト数ではなく文字数を表します (UTF8 では中国語の文字は 3 バイトを占めます) 7. VARCHAR(N) データ型は、それが表す文字列のサイズをディスク上に格納しますが、メモリに読み込まれると、メモリは N*k+1 または 2 (N<=255,1;else 2;) を割り当てます (k は文字セットによって決まります) 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
>>: Vueはechart円グラフの凡例のパーセンテージを表示するメソッドを実装します
プロジェクト(nodejs)では、一度に複数のデータをデータベースに挿入する必要があります。データベ...
JavaScript は多くの素晴らしい機能を備えています。この記事では、作業効率の向上とコードのデ...
目次1. はじめに2. 導入環境ツール4. 展開プロセス要約する1. はじめにNextcloud は...
目次複数の変数を同時に宣言する場合は、1 行に短縮できます。分割代入は複数の変数に同時に値を割り当て...
W3C は最近、「 XHTML Basic1.1 」と「 Mobile Web Best Prac...
esインストール docker pull elasticsearch:7.4.0 # -d : バッ...
最近、顔コレクションに関するプロジェクトに取り組んでいましたが、フロントエンドモジュールを書いている...
序文現在、フロントエンドは主に webpack の devServer の構成を通じてクロスドメイン...
目次1. コンポーネントの登録1.1 グローバル登録1.2 グローバルコンポーネントの登録プロセス1...
監視ホストの追加ホスト 192.168.179.104 が zabbix 監視項目に追加されます (...
目次1. HTML5のテンプレートタグ2. テンプレートタグ操作のプロパティとメソッド3. Vueの...
SFTPの概念sftp は、安全なファイル転送プロトコルである Secure File Transf...
この記事では、JavaScript メッセージ ボードでメッセージを追加および削除する小さな例を詳細...
序文Web アプリケーションでは、トラフィックを節約し、転送データのサイズを縮小し、転送効率を向上さ...
この記事はmysql8.0.0 winx64.zip解凍版のインストールチュートリアルを記録していま...