MySQL子查询真的很慢……办理要领?
发布时间:2021-05-24 02:42:51 所属栏目:编程 来源:网络整理
导读:我在MySQL 5.0,5.1,5.5上测试了以下看似简朴的查询,发明它很是慢. select * from entry where session_id in (select session_id from entry where created_at [some timestamp]) 多个条目可以具有沟通的会话ID,但具有差异的created_at时刻戳. 该查询旨在获
我在MySQL 5.0,5.1,5.5上测试了以下看似简朴的查询,发明它很是慢.
多个条目可以具有沟通的会话ID,但具有差异的created_at时刻戳. 我见过其他人谈到相同查询的MySQL子查询机能题目,而且MySQL以为子查询是一个依靠查询,它正在对外部查询举办全表扫描.提议的办理要领相同于:
可是,这个hack对我不起浸染,使它更慢. 有关怎样重写此查询的任何设法? 最佳谜底 按照您的数据漫衍,行使此选项
(在(session_id,created_at))上建设索引,可能:
(在created_at和session_id上建设两个单独的索引) (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |