我的monetdb表有超过10万行。我想从表中选择最后n行。是否可以在不扫描整个表的情况下仅查询最后n条记录?
答案 0 :(得分:0)
:
SELECT *
FROM [your_table] AS tbl
ORDER BY 1 DESC
TOP n
或其他人(SQL标准):
SELECT *
FROM [your_table] AS tbl
ORDER BY 1 DESC
LIMIT n
答案 1 :(得分:0)
这样做的唯一可靠方法是使一个列具有增加的时间戳或id值,您可以通过ORDER BY。
特别是如果没有删除,MonetDB会注意到这个列已经排序并使用这个事实来快速定位最新的行。