これが私の基本的な日時の構造である:Mysqlで日付時間の検索を最適化する方法は?
primary key(datetime) key
auot_id date_time user_id
1 2010-10-01 20:32:34 1
2 2010-10-02 20:32:34 1
3 2010-11-03 20:32:34 2
4 2010-10-04 20:32:34 1
5 2010-11-05 20:32:34 1
そして、私は'2010-10'
でday(date_time)
の結果を取得したいとuser_id = '1';
私のSQLは次のとおりです。
SELECT * FROM datetime WHERE user_id = 1 AND DATE_FORMAT(date,'%Y-%m') = '2010-10'
が、EXPLAIN
コード表示:
SIMPLE datetime ALL (NULL) (NULL) (NULL) (NULL) 5 Using where
だから、このコード行は見えません私の検索をより効果的にするためにテーブルを構築するにはどうすればいいですか?
ありがとうございます!
私はmysqlを初めて使用しています。だから私はどんな種類のインデックスを付け加えるべきかわからないのですか?私はそれらのインデックスを作成したと思います:INDEX 'date'(' date'、 'user_id') – qinHaiXiang
' date'が関数に渡されるので、 'user_id'が「静的」なので、 。 – Danosaure
https://dba.stackexchange.com/a/140693/39319を参照してください。真夜中取引が懸念される場合は、すべての日付と時間帯をどのようにカバーするかを説明します –