SQL SELECT获取最近添加的条目?

时间:2017-01-25 01:33:24

标签: mysql sql

我有一个数据库表,每秒都在更新。我想写一个查询,提取最近的20,000条记录(大约6个小时,因为它每秒收集一次)。

我想尝试一下:

SELECT time_stamp, column2, column3 
FROM myDB.table1 
limit 20000;

但是上面的查询从数据插入表格的最开始就提取项目。我想要最近的20000条记录。

将拉入插入表格的最新记录的查询是什么?

1 个答案:

答案 0 :(得分:2)

正确的查询是:

SELECT time_stamp, column2, column3
FROM myDB.table1
ORDER BY time_stamp DESC
LIMIT 20000;

但是,您可能会发现查询很昂贵。如果您在time_stamp上有索引,则可能会发现效率更高:

SELECT time_stamp, column2, column3
FROM myDB.table1
WHERE time_stamp >= date_sub(now(), interval 6 hours);

它不是20,000条记录,但它是最新的记录,它应该比排序所有数据更快。

您可以通过执行以下操作来创建此类索引:

create index idx_table1_timestamp on table1(time_stamp);