【发布时间】:2013-08-08 16:56:42
【问题描述】:
我想对一个非常大的表执行 SQL 查询。但是,我只需要查看最后 100,000 行。目前:
SELECT * FROM bigtable WHERE columna='foobar' ORDER BY id DESC LIMIT 10
我也想做同样的事情,但让它只在最后的 X ids 中查找。
编辑:先选择 100k 行然后从中选择它不是解决方案。这会选择完整的前 100k 行,即使已找到超过 10 个所需的行。这让它变慢了。
【问题讨论】:
-
@gladoscc 你可以在 sql server 中做这样的事情 select top 100000 columnname from bigtable where columna='foobar' order by id desc
-
@Petr R.:这在我的情况下不起作用,因为它会选择完整的 100k 行,即使它已经找到了 10 行而没有限制。我需要的是能够使查询超时。