mysql の巨大なテーブルに対して毎日作成される行数を計算する必要があります。私は現在使用しています
select count(1) from table_name group by Date
クエリは 2000 秒以上かかっており、カウントしています。最適化されたクエリまたはクエリを最適化する方法があるかどうか疑問に思っていました。
これらの日付に作成されたアイテムのみに関心がある場合は、1 日の終わりにカウントを計算し、それを別のテーブルに保存できます。
これにより、はるかに小さなデータセットで COUNT クエリを実行できます (Use WHERE DATE(NOW()) = Date
そして をドロップしますGROUP BY
) 。
次に、データが必要なときに新しいテーブルをクエリします。
列にインデックスを追加しDate
ます。このクエリを最適化する方法は他に考えられません。
CREATE INDEX ix_date
ON table_name (Date);