在访问具有相当大表的数据库时,我当前的查询运行速度非常慢
SELECT *
FROM table1
WHERE timestamp BETWEEN 635433140000000000 AND 635433150000000000
AND ID IN ('element1', 'element2', 'element3', ... , 'element 3002');
如您所见,IN
子句有数千个值。该查询大约每秒执行一次。
有没有其他的写法来提高性能?
最佳答案
将 IN 的元素添加到索引临时表(如果元素更改)或永久表(如果元素是静态的)并对其进行内部连接。
关于sql - 如何在 SQL Server 中使大型 IN 子句更有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25646751/