gpt4 book ai didi

mysql - 优化 mysql 查询前 10 个 View

转载 作者:行者123 更新时间:2023-11-29 12:55:59 26 4
gpt4 key购买 nike

我有一个 mysql 表,用于跟踪特定页面的 View :

CREATE TABLE `views` (
`time` datetime NOT NULL,
`remote_host` varchar(255) default '',
`r_clock` varchar(255) default '',
`r_timezone` varchar(255) default '',
`referer` varchar(255) default ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8

我为获取前 10 名而编写的查询是:

select count(*) as count, r_clock
from views where r_clock <> "html5" and r_clock not like "%-none"
group by r_clock
limit 10;
然而,这个查询似乎非常慢,因为我们获得了很多 View ,并且通过这个查询,mysql 最终检查表中的每一行。有没有什么简单的方法来优化查询?我认为我无法更改数据库中的列,尽管添加索引可能没问题。

最佳答案

解决方案是在 r_clock 上创建索引并停止在查询开头使用 % 。如果你使用"%-none",你将无法使用索引,也无济于事。

如果您可以更改查询(显然还有与之一起使用的数据)以在末尾添加 % (例如 "none-%"),则此将允许它使用索引并加快速度。

关于mysql - 优化 mysql 查询前 10 个 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24064498/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com