Php mysql非常简单的查询花费了很长时间

Php mysql非常简单的查询花费了很长时间,php,mysql,laravel-4,mysql-5.6,Php,Mysql,Laravel 4,Mysql 5.6,我给你一些慢速查询日志中的示例 mysql版本:5.6.14, 8gb服务器6gb可用内存, innodb表 例如:当我在phpmyadmin中键入此查询时,id是主键。它非常快,但仍在我的慢速查询日志中 # Query_time: 3.226675 Lock_time: 0.000046 Rows_sent: 0 Rows_examined: 1 SET timestamp=1385980918; update `rsslists` set `lastTimeRead` = '138598

我给你一些慢速查询日志中的示例

mysql版本:5.6.14, 8gb服务器6gb可用内存, innodb表

例如:当我在phpmyadmin中键入此查询时,id是主键。它非常快,但仍在我的慢速查询日志中

# Query_time: 3.226675  Lock_time: 0.000046 Rows_sent: 0  Rows_examined: 1
SET timestamp=1385980918;
update `rsslists` set `lastTimeRead` = '1385980913', `total` = '66502', `quality` =      '0.028284863613124' where `id` = '146';
或此查询:

 # Query_time: 2.284815  Lock_time: 0.000047 Rows_sent: 0  Rows_examined: 0
 SET timestamp=1385980935;
 select * from `articles` where `guid` = '1.2180130' limit 1;
说明:

“guid”是索引
非常简单的查询我不知道为什么它们有时会花费这么长的时间如果这些表很大并且有多个索引,插入可能会非常慢。 您应该记录所有查询,并查看其他插入的执行情况


至于select,guid上应该有一个索引,否则如果它是一个大表,则速度会很慢。

如果这些表很大并且有多个索引,则插入可能会非常慢。 您应该记录所有查询,并查看其他插入的执行情况


对于select,guid上应该有一个索引,否则如果它是一个大的表,它会很慢。

按照以下要点优化查询

  • 优化查询缓存的查询
  • 解释您的选择查询
  • 获取唯一行时限制1
  • 为搜索字段编制索引
  • 索引并为联接使用相同的列类型
  • 不要按兰德订购()
  • 避免选择*
  • 几乎总是有一个id字段
  • 在VARCHAR上使用ENUM
  • 通过过程分析获取建议()
  • 如果可以,请使用NOTNULL
  • 准备好的发言
  • 无缓冲查询
  • 将IP地址存储为无符号整数
  • 固定长度(静态)表速度更快
  • 垂直分割
  • 拆分大的删除或插入查询
  • 列越小速度越快
  • 选择正确的存储引擎
  • 使用对象关系映射器
  • 注意持久连接

  • 有关更多详细信息,请参考以下要点以优化查询

  • 优化查询缓存的查询
  • 解释您的选择查询
  • 获取唯一行时限制1
  • 为搜索字段编制索引
  • 索引并为联接使用相同的列类型
  • 不要按兰德订购()
  • 避免选择*
  • 几乎总是有一个id字段
  • 在VARCHAR上使用ENUM
  • 通过过程分析获取建议()
  • 如果可以,请使用NOTNULL
  • 准备好的发言
  • 无缓冲查询
  • 将IP地址存储为无符号整数
  • 固定长度(静态)表速度更快
  • 垂直分割
  • 拆分大的删除或插入查询
  • 列越小速度越快
  • 选择正确的存储引擎
  • 使用对象关系映射器
  • 注意持久连接

  • 有关更多详细信息,请参阅

    尝试对查询运行解释。我使用图像更新我的问题尝试对查询运行解释。我使用图像更新我的问题,因为我说过我在guid上有索引。。仍然很慢:/tnxi如果我看到“解释”,我怀疑它与您的查询或表格有关。请在HeidiSQL之类的数据库工具中再次运行您的查询,并检查它是否真的需要3秒钟,或者这些事件是否发生。当我在phpmyadmin上运行它时,她非常快。问题是,我可以在我的日志查询日志中看到,有时她会在3秒内运行。如果行为如此不一致,很可能是数据库服务器的问题,而不是dbms的问题。也许你的记忆被束缚住了?慢查询多久发生一次?这真的是个问题吗?正如我说的,我在guid上有索引。。仍然很慢:/tnxi如果我看到“解释”,我怀疑它与您的查询或表格有关。请在HeidiSQL之类的数据库工具中再次运行您的查询,并检查它是否真的需要3秒钟,或者这些事件是否发生。当我在phpmyadmin上运行它时,她非常快。问题是,我可以在我的日志查询日志中看到,有时她会在3秒内运行。如果行为如此不一致,很可能是数据库服务器的问题,而不是dbms的问题。也许你的记忆被束缚住了?慢查询多久发生一次?这真的是个问题吗?我知道,正如我所说的,我是在遵循这些观点,而不是在帮助我。。您是否使用表级锁定?如果是这样,它将锁定表,直到特定进程完成。在此期间,即使运行简单的查询,也需要时间。简单地说,RU使用表分区吗?我知道,正如我所说的,我在遵循它们,这对我没有帮助。。您是否使用表级锁定?如果是这样,它将锁定表,直到特定进程完成。在此期间,即使运行简单的查询,也需要时间。简单地说,RU使用表分区吗?