MySQL の最適化: パフォーマンスのための整数インデックスと DateTime インデックス作成
大規模データベースではクエリ効率が非常に重要です。 MySQL で日時データのインデックスを作成する場合、整数 (「INT」) と DateTime フィールドのどちらを選択するかが問題になります。
パフォーマンスに関する考慮事項
パフォーマンスに関しては、初期テストが必要です。 InnoDB テーブルに 1,000 万件のレコードがある場合、条件が日付範囲に基づいている場合、INT インデックス作成に大きな利点があることがわかります。クエリの範囲が広い場合でも、INT を使用すると実行時間が短縮されることがわかります。
テスト結果
カウント クエリ:
SQL_NO_CACHE COUNT(*) FROM `tbl_int` (INT): 25.02 sec SQL_NO_CACHE COUNT(*) FROM `tbl_dt` (DateTime): 2 min 10.27 sec
範囲クエリ:
SQL_NO_CACHE COUNT(*) FROM `tbl_int` (INT): 1.56 sec SQL_NO_CACHE COUNT(*) FROM `tbl_dt` (DateTime): 8.41 sec
観測
以上がMySQL の整数インデックスと DateTime インデックス作成: 日付範囲クエリではどちらが高速ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。