Mysql “优化”;计数(不同列),其中othercol=?”;为了速度

Mysql “优化”;计数(不同列),其中othercol=?”;为了速度,mysql,sql,performance,query-optimization,Mysql,Sql,Performance,Query Optimization,我有一个清晰的计数,大约需要半分钟或更长时间才能得到结果 select COUNT(DISTINCT ip) as unique_visits from idevaff_iptracking where acct_id = ? and stamp = ? 计算IP的更快方法是什么?ip列和带有ip列的帐户id上都有索引。对于此查询: select COUNT(DISTINCT ip) as unique_visits from idevaff_iptracking where acct_id

我有一个清晰的计数,大约需要半分钟或更长时间才能得到结果

select COUNT(DISTINCT ip) as unique_visits
from idevaff_iptracking
where acct_id = ? and stamp = ?
计算IP的更快方法是什么?ip列和带有ip列的帐户id上都有索引。

对于此查询:

select COUNT(DISTINCT ip) as unique_visits
from idevaff_iptracking
where acct_id = ? and stamp = ?
对于此查询,您需要在
idevaff\u iptracking(acct\u d,stamp,ip)
上建立索引:

select COUNT(DISTINCT ip) as unique_visits
from idevaff_iptracking
where acct_id = ? and stamp = ?

您需要一个关于
idevaff\u iptracking(acct\u d,stamp,ip)

的索引,如果您能够响应结果查询,并提供SHOW CREATE TABLE语句和给定查询的解释(y/ies),那么我想这里没有太多的改进空间。我非常希望有一种方法可以让它更快。有时需要很长时间。。。我想我可以展示你的要求。也许你可以回应结果查询,并为给定的查询提供show CREATE TABLE语句和EXPLAIN(y/ies)-但我怀疑这里没有太多的改进空间。我希望有一种方法可以让它更快。有时需要很长时间。。。我想我可以展示你的要求。我可以试一试。谢谢我已经有了一个索引acct\u id\u ip(acct\u id,ip)和一个单独的ip索引(ip),我认为这样做了。现在它明显快了10倍,有时甚至20倍!!这让我想起了MySQL是如何利用索引的。谢谢你!我可以试一试。谢谢我已经有了一个索引acct\u id\u ip(acct\u id,ip)和一个单独的ip索引(ip),我认为这样做了。现在它明显快了10倍,有时甚至20倍!!这让我想起了MySQL是如何利用索引的。谢谢你!