首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL性能问题

MySQL性能问题
EN

Database Administration用户
提问于 2014-11-14 03:17:54
回答 1查看 137关注 0票数 1

我在和我的数据库管理员争论。他声称我通过PHP发送的查询是问题所在,他说了几件我认为是完全错误的事情。

首先,我有一个网站每天收到64,000次浏览。我的服务器监视超过5秒的查询。白天我多次看到3-6 "SELECT“查询都需要超过10秒,有时甚至高达200秒。这是在InnoDB 5.0上的MySQL表上。此外,PHP正在使用微时间计算查询的速度。具有讽刺意味的是,我在PHPMyAdmin中尝试了相同的查询,它们花费了0.0031秒。

我的管理员说我不应该在我的代码中使用星号,但是在线上没有任何地方与此相抵触。他说我应该把我所有的桌子从MyISAM转换成InnoDB。我已经这样做了,但还是会发生同样的事情。他似乎并没有移动,更糟糕的是,有时我的服务器停机1-2分钟,MySQL错误为“太多连接”或"MySQL服务器消失了“。

行政当局不听道理,这些问题还在继续。我在mysql的版本中禁用了概要分析,所以我不能真正看到mysql的查询时间。有人能建议我做些什么或者试着诊断吗?我只是一个程序员,但我有mysql方面的经验(可能比管理员更多)。

EN

回答 1

Database Administration用户

回答已采纳

发布于 2014-11-14 03:41:16

在您的问题中,没有足够的信息从技术角度了解问题所在;但是,我可以看到,您作为开发人员与DBA之间的通信存在问题。这并非异常,因为DBA和devs并不总是“说同一种语言”。

让我们谈谈你问题中的几点:

  • 您应该依赖“慢速查询日志”来获得您的慢速查询。在PHP中监视它们可能不能准确地衡量查询的缓慢性。
  • 可以缓存在PhpMyAdmin中花费很少时间的查询。使用“选择SQL_NO_CACHE",并在彼此不接近的情况下重复,以避免硬件级缓存。
  • "SELECT *“与"SELECT field1,field2":如果您不需要结果中的所有字段,就不要使用"SELECT *",因为这会浪费发送不想要的值的资源。
  • “太多的连接”可能有不同的原因,其中一个原因是缓慢的查询锁定了表,因此其他连接等待并堆积到服务器拒绝新连接时的最大值。

我的建议是,你应该和你的管理人员交谈,同时作为一个团队工作,而不是两个单独的团队。

HTH

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/82640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档