我有一个包含 500 万行的表,我只想获取字段 date
在两个日期(date1 和 date2)之间的行。我试过了
select column from table where date > date1 and date < date2
但是处理时间真的很大。有没有更聪明的方法来做到这一点?也许直接访问一行并仅在该行之后进行查询?我的意思是,有没有办法丢弃与日期期间不匹配的大部分表格?或者我必须逐行阅读并比较日期?
最佳答案
通常您会在检索结果之前应用某种条件。如果您没有任何要过滤的内容,您可能需要使用 LIMIT
和 OFFSET
:
SELECT * FROM table_name WHERE date BETWEEN ? AND ? LIMIT 1000 OFFSET 1000
通常,您将LIMIT
限制为您希望在特定页面上显示的任意数量的记录。
关于mysql - 根据日期限制大表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12922311/