我正在尝试查看特定哈希码是否在表的最新1000个插入内,实现此查询的最有效技术是什么:
SELECT a.idsearch
FROM searches a
WHERE a.hashcode = 549716444
AND a.idsearch > (SELECT MAX(b.idsearch) - 1000
FROM searches b);
idsearch是一个auto_increment列,是PK。
答案 0 :(得分:0)
使用现有查询但添加两个索引(如果它们尚不存在):
答案 1 :(得分:0)
假设a.idsearch
是自动递增的主键,那么您可以使用ORDER BY
和LIMIT
。
SELECT a.idsearch
FROM searches a
WHERE a.hashcode = 549716444
ORDER BY a.idsearch DESC
LIMIT 1000;
这将首先为您提供最新的idsearch
,因此请相应地调整您的代码。