mysql - 比较两个整数会导致查询时间长
问题描述
我的查询:
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)
编入索引。什么可能导致此问题?
解决方案
您的查询非常快,而且您没有说您已经拥有哪些索引。
无论如何,如果你想让它更快,你可以添加以下索引(如果你还没有的话):
create index ix1 on suprayts (id, time);
推荐阅读
- redhawksdr - 不与域管理器关联的分布式 Redhawk 设备管理器
- apache-kafka - 如果 Apache Kafka 收到 2 MB 消息会发生什么?由于默认大小仅为 1 MB
- python - 将带有int和字典的字符串转换为列表
- node.js - 当一个客户端连接到套接字服务器时如何拥有一个套接字ID
- jsx - 如何使用 Jest 测试 JSX Vue3 组件
- python - pyopengl 中 glEnable(GL_MULTISAMPLE) 时的无效操作
- objectbox - 在颤振项目中添加实体时出错
- php - wp_query 按多个值的总和排序
- html - 如何将鼠标悬停在
- 元素并在 2 个图标之间切换[无 JavaScript]
- qt - QML 蓝牙聊天