gpt4 book ai didi

mysql - 为什么 phpmyadmin 会明显快于 mysql 命令行?

转载 作者:行者123 更新时间:2023-11-29 01:50:52 27 4
gpt4 key购买 nike

一切都在数据库所在的同一台机器上运行。这些查询以不同的方式做同样的事情。我使用 mariadb 作为数据库引擎。

查询 1:

SELECT p.* 
FROM users as u INNER JOIN votes ON u.Id=votes.UserId INNER JOIN posts as p ON p.Id=votes.PostId
WHERE (SELECT MIN(u2.reputation)
FROM users as u2 INNER JOIN votes ON u2.Id=votes.UserId INNER JOIN posts as p2 ON p2.Id=votes.PostId
WHERE p2.Id=p.Id) >= {}
ORDER BY p.Id;

在 mysql 命令行中大约需要 2.9 秒,在 phpmyadmin 中大约需要 0.1 秒

查询 2:

SELECT P.*
FROM posts as P
JOIN votes AS V on P.Id=V.PostId
JOIN users AS U on V.UserId=U.Id
WHERE U.Reputation >={}
AND P.Id NOT IN
(SELECT DISTINCT (P2.Id)
FROM posts P2, votes V2,users U2
WHERE P2.Id=V2.PostId
AND V2.UserId =U2.Id
AND U2.reputation < {})
ORDER BY P.Id;

在 mysql 命令行中大约需要 3.1 秒,在 phpmyadmin 中大约需要 0.9 秒。

这些时间都取自运行查询后自动显示的时间。

为什么 phpmyadmin 会更快?为什么速度的百分比差异在 phpmyadmin 中如此之大,而在 mysql 命令行中却没有?

最佳答案

像 phpMyAdmin 这样的前端工具通常使用 LIMIT 子句来对结果进行分页,而不会使您的浏览器或应用程序在大型表格上崩溃。可能会返回数百万条记录并且这样做会花费大量时间的查询,如果受到更多约束,将运行得更快。

将有限的查询与完整的查询进行比较并不公平,检索时间会大不相同。检查这两个工具是否都在提取所有记录。

关于mysql - 为什么 phpmyadmin 会明显快于 mysql 命令行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43944969/

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