为什么 MySQL 查询在一台设备上很慢,而在另一台设备上却没有?

CyFeed

我主要只使用 PHP 和 MySQL 创建一个基于文本的 RPG。我在我的笔记本电脑上遇到了一些缓慢的查询,但这些相同的查询在我的 PC 上要快得多,我的笔记本电脑有点旧。这是两者的规格和查询示例,下面是我使用的内容。


PC:
->图形:NVidia GeForce 1060 3GB
->处理器:Ryzen 3 1300x 3.5GhZ 10MB Cache
->RAM:8GB DDR4 2400MHz
->SSD:256GB
//不确定这些是否重要
->数据库服务器版本:10.1.26 -MariaDB
->Apache:2.4.27
->数据库客户端版本:libmysql - mysqlnd 5.0.12-dev - 20150407
笔记本电脑:
->显卡:Intel HD 3000
->处理器:Intel Pentium 2020M 2.4GHz 2MB Cache
->RAM:4GB DDR3
->HDD:512G​​B

这是一个查询示例:

UPDATE data SET posx = $posX, posy = $posY, last_action = '.time().', current_stamina = $newStamina WHERE id = $id

在我的 PC 上进行这样的查询的平均时间是:0.004 秒,而在我的笔记本电脑上进行同样的查询需要 0.4 秒到 0.1 秒。平均而言,它在 0.2 秒内执行一次。我认为这对于单个简单查询来说非常慢。我认为这可能是因为缺少索引,所以我为 ID 添加了索引,结果仍然相同。

我不太关心我的笔记本电脑的性能,但是,我担心的是,如果我在笔记本电脑上遇到如此慢的查询,当我将游戏放到在线服务器上时,我是否应该期待同样的慢查询?(我还没有)

问题是我的笔记本电脑上的其他查询速度很快(例如从数据库读取或连接)。

我知道这是非常具体的事情,所以我很感激任何信息。

谢谢,

赫克托

贾里克·约什维克

这可能有很多因素。首先,您的笔记本电脑上的内存较少,如果在 PC 和笔记本电脑上配置相同的 mariadb,例如使用超过 4GB 的内存,这可能很重要。这可能会导致问题。然后,如前所述,您的 PC 上可能有 SSD,但笔记本电脑上可能有硬盘。那么可能有很多常驻应用程序在您的笔记本电脑上运行,这会降低 mysql 的速度。尝试比较两台设备上 mysql 的配置,检查两台设备上运行的进程数,检查笔记本电脑上的 IO 次数。
您很可能不必担心将您的应用程序放到网上并且查询速度很慢 - 这些服务器配置良好,绝对简单的更新应该不成问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么我的一台设备获得千兆互联网速度,而另一台却都支持,则为什么却没有?

连接到另一台设备上的mysql

什么是Apache的OpenSSL?为什么一台服务器拥有它,而另一台却没有

Dos脚本在一台机器上运行正常,而在另一台机器上运行不正常,为什么?

为什么蓝牙PAN在一台机器上运行缓慢而在另一台机器上运行正常?

为什么cp在一个服务器上指示“不是目录”而在另一台服务器上可以

在另一台Windows机器上运行Rust编译程序有什么要求?

为什么一个tfs构建摘要显示在一台机器上而不是另一台机器上的测试结果

为什么 json_decode 在 1 台电脑中出现语法错误而在另一台电脑上运行良好

为什么这个python代码在一台机器上而不是另一台机器上给出“TypeError:JSON对象必须是str,而不是'bytes'”

为什么Spring在一台机器上而不是另一台机器上出现循环依赖问题?

为什么不能在一台机器上root从另一台机器上更改nfs挂载的内容?

同一台Google Cloud Storage上传脚本可以在一台PC上运行,但不能在另一台PC上运行,为什么?

为什么 google play 商店稳定性报告说我的应用程序在一台设备上崩溃了

令人困惑的 MySQL-PHP 插入在一台机器上 100% 工作,但在另一台机器上工作 50%

为什么在一个webpack项目上却收到“意外的令牌导入”,而在另一个Webpack项目上却没有?

一台Linux服务器上具有apache和php的LAMP堆栈,另一台Linux服务器上具有mysql的LAMP堆栈

无法连接到本地网络上另一台PC上的MySQL数据库。[视窗]

MySQL-插入具有空主键的记录,可在一台服务器上运行,而不能在另一台服务器上运行

为什么当我ssh进入一台服务器时,它显示bash而另一台拥有我的用户名?

为什么一台计算机上的带有子项的GPG解密失败,而另一台计算机上却失败?

使用另一台 PC 连接到本地 PC 上的远程 MySQL 数据库

如何安全地连接到另一台服务器上的MySQL数据库?

为什么timedelta命令会在另一台计算机上创建错误?

为什么从另一台计算机上无法使用GRPC?

为什么即使我从另一台服务器复制该表的所有文件,数据库表也没有更新?

为什么我和家里的另一台计算机具有不同的IP地址

还有什么可能阻止我访问本地网络中另一台笔记本电脑上的Web服务器?

要在一台服务器上备份MySQL DB并在另一台服务器上还原,是否需要相同版本的MySQL?