繁体   English   中英

MySQL插入/更新/删除/选择有时会变慢

[英]MySQL insert/update/delete/select goes slow sometimes

当我将InnoDB用作数据库引擎时,查询速度会变慢,有时需要20秒或更长时间。

我知道可以通过my.confinnodb_flush_log_at_trx_commit的值更改为2的解决方案,它也可以解决我的问题,但我也想这样做,但是由于我拥有共享主机,因此他们不允许我这样做。

MySQL版本:5.6.32-78.1

我也尝试过MySQL查询

mysql> SHOW VARIABLES LIKE 'innodb_flush_log_at_trx_commit';
+--------------------------------+-------+
| Variable_name                  | Value |
+--------------------------------+-------+
| innodb_flush_log_at_trx_commit | 1     |
+--------------------------------+-------+
1 row in set

我尝试了这个查询

mysql> SET GLOBAL innodb_flush_log_at_trx_commit=2;

但这也不允许我,因为我没有执行此操作的超级特权。

我有25个表的数据库,在4个表中4000多个记录,在其余表中,有100个以下记录

因此,还有其他解决方案可以提高查询性能。 任何帮助将不胜感激。

使用配置文件检查每个步骤中的成本时间;

  1. set profiling=1;
  2. 运行查询;
  3. 检查查询: show profiles;
  4. 列出时间成本: show profile block io,cpu for query N;

找到Duration的步骤

像这样显示 型材 清单

可能的问题:索引,排序依据,文件排序,使用临时表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM