2011-09-17 20 views
1

私は車両レコードを持つmysqlデータベースを持っています。過去4分間に更新されたレコードの最新のレコードを返す高速なクエリが必要です。たとえば、車両 "A"は1分に数回更新されるため、最後の4分以内に何度も表示されます。車両B Cなどと同じです。私は4分のウィンドウ内で各車両の最新のエントリだけが必要です。私はこのように試しましたデータベースから最新のレコードを取得する複数のクエリ

しかし結果が10秒を超えるには時間がかかります。

+0

私は混乱している - レコードが更新された場合は、理由のテーブルではなく、単に一つのレコードよりも、複数のレコードが含まれているのでしょうか?また、あなたのテーブルのCREATE TABLEの定義といくつかのサンプルデータを見て、質問に答えるのに役立つでしょう。 – Kenny

+0

実際にはテーブルは更新されませんが、車両レコードのように新しいレコードが挿入されます –

答えて

0

これは機能しますか?

select distinct a.id from yourtable AS a 
where a.ts > NOW() - INTERVAL 5 MINUTE; 

最後に4/5分に更新されたすべての車両を提供します。

おかげで、 ラケッシュ

関連する問題