mysql insert/update/delete/select有时会变慢

lx0bsm1f  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(493)

当我使用innodb作为数据库引擎时,查询速度会变慢,有时需要20秒或更长时间。
我知道可以通过my.conf将innodb\u flush\u log\u at\u trx\u 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多条记录,而rest表中有100条以下的记录
那么有没有其他的解决方案来提高查询性能呢。?任何帮助都将不胜感激。

gtlvzcf8

gtlvzcf81#

使用profile检查每个步骤的成本时间; set profiling=1; 运行您的查询;
检查查询: show profiles; 列出时间成本: show profile block io,cpu for query N; 找到高的台阶 Duration 就像这样


可能的问题:索引、排序方式、文件排序、使用临时表。。

相关问题