1. DATETIMEとTIMESTAMPの使用MySQL には、主に YEAR、TIME、DATE、DATETIME、TIMESTAMP など、時間と日付を表す多くのデータ型があります。 1. 類似点datetime と timestamp はどちらも、YYYY-MM-DDHH:MM:SS 年-月-日-時間-分-秒の形式でデータを表すことができます。 2. 相違点日時ストレージはタイムゾーンとは関係ありません (具体的には、日時は 1 つのタイムゾーンのみをサポートし、これは保存時の現在のサーバーのタイムゾーンです)。一方、タイムスタンプ ストレージはタイムゾーンに関連しています。 datetime と timestamp の精度は秒です。datetime はタイムゾーンに依存せず、広いストレージ範囲 (1001 ~ 9999) を持ちます。timestamp はタイムゾーンに関連しており、狭いストレージ範囲 (1970 ~ 2038) を持ちます。 3. 選択TIMESTAMP と DATETIME の間には、保存範囲と保存方法を除いて大きな違いはありません。もちろん、タイムゾーンをまたぐビジネスには TIMESTAMP の方が適しています。 2. varcharおよびtextデータ型の使用MySQL に文字列を保存する場合、char、varchar、または text 型を使用できます。 1. 類似点varchar と text はどちらも可変長文字列を格納でき、文字列の長さの上限は 65535 バイトです。 2. 相違点varchar は高速で、スペースを無駄にせず、末尾のスペースを処理せず、上限は 65535 バイトですが、ストレージの長さは 65532 バイトです。長さが 255 バイト未満の場合、長さを格納するために 1 バイトが使用されます。長さが 255 バイトを超える場合、長さを格納するために 2 バイトが使用されます。テキストで、可変長データを格納し、速度が遅く、スペースを無駄にせず、末尾のスペースを処理せず、上限が 65535 バイトで、データ長を格納するために余分なスペースを使用するため、65535 バイトすべてを使用できます。 TEXT 列にインデックスを配置することはできません (フルテキスト インデックスを除く)。テキストの場合、プレフィックス インデックスのみを追加でき、プレフィックス インデックスの最大サイズは 1000 バイトです。 テキストにはデフォルト値がありません varchar が特定の値より大きい場合、自動的にテキストに変換されます。一般的なルールは次のとおりです。 varchar(255)より大きい場合はtinytextになります varchar(500)より大きい場合はテキストになります varchar(20000)より大きい場合はmediumtextになります 3. 選択1. 頻繁に変更されるフィールドには varchar を使用します。 2. 固定長がわかっている場合は、char を使用します。 3. 255 バイトを超えるデータの場合、varchar または text のみ使用できます。 4. varchar が使用できる場所ではテキストを使用しないでください。 5. 数値フィールドを使用できる場合は、文字列型ではなく数値型を使用するようにしてください。これにより、クエリと接続のパフォーマンスが低下し、ストレージのオーバーヘッドが増加します。これは、クエリと接続を処理するときにエンジンが文字列内の各文字を 1 つずつ比較し、数値型の場合は 1 回の比較だけで十分であるためです。 6. ストレージ エンジンが CHAR と VARCHAR の選択に与える影響: MyISAM ストレージ エンジンの場合、可変長データ列ではなく固定長データ列を使用するのが最適です。これにより、テーブル全体が静的になり、データの取得が高速化され、スペースを節約して時間を節約できます。 InnoDB ストレージ エンジンの場合、InnoDB データ テーブルのストレージ形式では固定長と可変長が区別されないため、可変長データ列を使用するのが最適です。したがって、CHAR を使用することは、必ずしも VARCHAR を使用するよりも優れているわけではありません。ただし、VARCHAR は実際の長さに従って格納されるため、スペースを節約でき、ディスク I/O と総データ ストレージに適しています。 これで、MySQL での日付と時刻の型と文字列型の選択に関するこの記事は終了です。MySQL での日付と時刻の型と文字列型の選択に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: 純粋な CSS3 を使用して、円の動的な光る特殊効果アニメーションを実装するためのサンプル コード
>>: Vueコンポーネントの7つの通信方法についての深い理解
目次1. COUNTの初見2. COUNT(フィールド)、COUNT(定数)、COUNT(*)の違い...
JSON 形式のフィールドは、MySQL 5.7 で追加された新しい属性ですが、基本的には文字列とし...
なお、この記事では、単に 20.04 ソースに変更する方法を説明するのではなく、20.04 に基づい...
目次スタイルスコープスタイルモジュール状態駆動型動的CSS要約するスタイルスコープ注意事項:スタイル...
MySQL では、IF()、IFNULL()、NULLIF()、および ISNULL() 関数を使用...
1. MavenをダウンロードするMaven 公式サイト: http://maven.apache...
要点CSS resize プロパティを使用すると、要素のサイズ変更可能性を制御できます。サイズ変更を...
シェルを起動する頻度は非常に低いですが。 。 。しかし、書くたびに、多くの jar ファイル パスを...
1. はじめにVagrant は、仮想マシン (VirtualBox) を構築および管理するためのツ...
1. mycatとはエンタープライズアプリケーション開発のための完全にオープンソースの大規模データベ...
目次序文MySQL の NULL 2 NULL占有長3 NULL値の比較4SQLはNULL値を処理す...
初めての投稿ですので、間違いや問題点などありましたら、コメント欄で指摘していただければ、今後改善させ...
序文mysqlslap は、MySQL サーバーへのクライアント負荷をシミュレートし、各ステージの時...
免責事項:プロジェクトでは ROS 環境を使用する必要があるため、これは Ubuntu 20.04 ...
序文この記事では主に、CSS3 を使用してテキスト折り紙効果を実現する例を紹介します。これは、参考と...