|
1
1
这是我对你的问题的回复:
|
|
|
2
2
你跑了吗? EXPLAIN 命令查看查询的哪个部分运行缓慢?
此外,此行可能是一个问题:
|
|
|
3
1
不要使用子查询。每行运行一次子查询。因此,如果外部查询返回10行,则内部查询将运行10次。 由于在子查询中有一个子查询,效果会更糟。这样,如果外部的返回10行,内部的返回10行,则内部最大的将运行100次。 编辑:别介意最后一段--看起来你在子查询中有一个子查询,但是再看一次,你就没有了。不管怎样,都不要使用子查询。 |
|
|
4
1
你能做的最好的事情就是去掉like关键字,然后简单地说:
这样,您就可以获得当天的所有信息(或您需要的任何日期范围)。考虑到这一点,最好的方法是MySQL必须遍历并评估每一行,即使它们已经是一个日期时间字段。如果定期搜索字段v.date,您可以在其上放置索引以加快速度,然后它将使速度更快,因为它将知道数据的位置。 您还可以使用count(id)而不是计算所有内容。计算一个字段而不是10、20或50可以节省几毫秒。 |
|
5
1
|
|
6
1
你可以试试这个(没有数据很难测试)
此数据结构是否正确?
|