クエリーを最適化するためのタイムスタンプのインデックス作成
2023-11-22 02:29:02
質問
以下のような形式のクエリを持っています。
SELECT * FROM MyTable WHERE Timestamp > [SomeTime] AND Timestamp < [SomeOtherTime]
私はこのクエリを最適化したいと思い、timestampにインデックスを付けることを考えていますが、これが役に立つかどうかはわかりません。理想的には timestamp をクラスタ化インデックスにしたいのですが、MySQL は主キーを除き、クラスタ化インデックスをサポートしていません。
-
MyTable
は 400 万行以上あります。 -
Timestamp
は実際にはINT
. - 一度挿入された行は、決して変更されません。
-
行の数は、任意の
Timestamp
を持つ行の数は平均して 20 ほどですが、200 ほどになる可能性もあります。 -
新しく挿入された行には
Timestamp
を持ち、それは既存の行のほとんどよりも大きいですが、より新しい行のいくつかよりも小さい可能性があります。
のインデックスは
Timestamp
のインデックスは、このクエリを最適化するのに役立ちますか?
どのように解決するには?
疑う余地もありません。インデックスがない場合、クエリはテーブルのすべての行を参照する必要があります。インデックスがあれば、正しい行を探す限り、クエリはほとんど瞬時に実行されます。しかし、その代償として わずか しかし、それは本当にわずかなものです。
関連
-
mysqlにおけるvarcharの日付比較とソートの実装
-
MySQLの一般的な分割ライブラリおよび分割テーブルスキームの概要
-
Mysqlデータベースへのリンク時にpymysqlがConnection refusedエラーを報告する
-
MySQL 接続タイムアウト。エラー SQLSTATE[HY000] [2002] 接続がタイムアウトしました 解決済み
-
Mysqlの使用中に発生したエラーの一部
-
[解決済み] リスト内のアイテムのインデックスを検索する
-
[解決済み] MySQLでdatetimeとtimestampのどちらのデータ型を使用すべきですか?
-
[解決済み] インデックスを指定してリストから要素を削除する方法
-
[解決済み] クラスター化インデックスと非クラスター化インデックスの実際の意味は何ですか?
-
[解決済み] Git で古いコミットのタイムスタンプを変更するにはどうしたらいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
MySQL Innodb インデックスメカニズム詳細解説
-
MySQLで正規表現を使う 詳細
-
mysqlインデックスが長すぎる特殊なキーが長すぎる解決策
-
sql エラーを解決する オペランドには1つの列が含まれている必要があります。
-
SQLException。オペランドは1列でなければなりません。
-
Djangoマイグレーションエラー 外部キー制約を追加できない
-
MySQLでテーブルを削除します。親行が削除または更新できません: 外部キー制約に失敗しました。
-
mysql がエラーを報告します。不明な文字セットです。'utf8mb4'
-
PostMan レポート エラー: 接続 ECONNREFUSED 127.0.0.1:port number
-
[解決済み] MySQL で特定のカラム名を持つすべてのテーブルを見つけるにはどうすればよいですか?