![]() |
1
1
|
![]() |
2
1
如果您对columns clicks.user_id和users.id进行了索引,那么该查询可能与它得到的速度一样快。 关于它,有一点我可以想象,要为很多的迟缓负责,那就是按条款排序。既然它是一个聚合字段,那么它可能必须首先获取所有数据,然后在没有太多优化的情况下对其进行排序。当事情进展缓慢时,排序是一个很好的候选者。 不过,另一个想法是维护一个包含单击总数的单独表。如果您需要这些记录,那么您可能最终不得不每次单击运行2个查询…一个用于现有表,另一个用于更新用户/单击表,该表只有用户ID和单击计数以及您认为合适的其他内容。这样,即使有大量的用户,选择也会变得非常快,因为您只检索绝对必要的最小行数,而不是一大堆行数,这些行数无论如何都只能聚合。 |
![]() |
3
0
确保已在上创建索引
|
![]() |
4
0
为初学者在clicks.userid上创建索引。这会有所不同 |
![]() |
5
0
我只是想到别的事情。使用内部联接可能会获得更好的结果。 未经测试的:
|
![]() |
6
0
尝试此操作(未测试):
先数行可能会节省一些时间。 |
![]() |
user164863 · 我可以让这个mySQL查询更快吗? 7 年前 |
![]() |
Ronak Patel · mysql-无适当索引的长时间运行查询 7 年前 |
![]() |
Mohd Abdul Mujib · 检查上次查询中是否使用了缓冲区 7 年前 |
![]() |
Ronbear · 更改视图定义可以改进/降低两种不同的查询 7 年前 |
![]() |
Camilo · SQL-如何对15行的组求和并找到最大和 7 年前 |
![]() |
curiousgeorge · 在具有单独更新列的重复密钥更新批上插入 7 年前 |
![]() |
Oblomingo · 如何优化依赖于执行时间的T-SQL查询? 7 年前 |