首页 > 解决方案 > 比较两个整数会导致查询时间长

问题描述

我的查询:

SELECT  `suprayts`.`id`, `suprayts`.`username`, `suprayts`.`question`, `suprayts`.`suprayt_photo`,
        `suprayts`.`open_vote`, `suprayts`.`like_count`, `suprayts`.`dislike_count`
FROM (
`suprayts`
)

WHERE suprayts.id NOT IN (1)
AND  `suprayts`.`time` >1557944878
ORDER BY  `suprayts`.`id` ASC 
LIMIT 1 , 1

此查询耗时:0.0347 ms

如果我删除以下行:

AND  `suprayts`.`time` >1557944878

它需要 0.0005 毫秒

我的时间字段已int(11)编入索引。什么可能导致此问题?

标签: mysqlsql

解决方案


您的查询非常快,而且您没有说您已经拥有哪些索引。

无论如何,如果你想让它更快,你可以添加以下索引(如果你还没有的话):

create index ix1 on suprayts (id, time);

推荐阅读