iNP*_*ice 2 mysql performance key subquery
我正在查询这样的数据库:
SELECT * from Log WHERE cookieId IN (select cookieId from Log WHERE someId="blafasel");
Run Code Online (Sandbox Code Playgroud)
我在someId和cookieId上有键,但查询速度很慢.如果我运行两个查询(外部和内部)将它们分开或非常快.
select cookieId from Log WHERE someId="blafasel"
Run Code Online (Sandbox Code Playgroud)
几乎立即得到了我的结果.查询也是如此
SELECT * FROM Log WHERE cookieId IN ("something","somethingelse","athirdoption")
Run Code Online (Sandbox Code Playgroud)
使用EXPLAIN告诉我在两个单个查询中使用了键,但是对于subselect查询键仅用于内部选择.我的问题是为什么?以及如何告诉MySQL更聪明一点.
好吧,我可以让我的应用程序分开运行两个查询,但这不方便.
谢谢你的帮助.
你尝试过使用过吗?
SELECT l.*
FROM log l INNER JOIN
log ls ON l.cookieid = ls.cookieid
WHERE ls.someId="blafasel"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
241 次 |
| 最近记录: |