我有一个包含事件的 sqlite3 数据库。每个事件要么是某事发生的“开”,要么是“关”,并且包含事件的时间以及事件是什么以及一些因事件而异的杂项数据。
我想查询以找到每种类型的最后一个事件。到目前为止,这是我提出的查询:
SELECT * from event where name='event1on' or name='event1off' ORDER BY t DESC LIMIT 1
这行得通,但是当我有很多要查找最新事件的事件时,它会很慢。我怀疑这是因为对于每个 SELECT 都必须对数据库进行全面扫描(几百万行),但我找不到更有效的方法来做到这一点。