当我使用 InnoDB 作为数据库引擎时,查询会变慢,有时需要20秒或更长时间。
我知道可以通过 my.conf 完成的解决方案将 innodb_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 记录
还有其他解决方案可以加快查询性能。任何帮助将不胜感激。