Mik*_*gin 5 mysql sql database performance
作为标题状态,在我的数据库中,各种查询出现在慢速查询日志中,但是当我手动运行它们时,运行速度提高了10倍.
例如,一个相对简单的选择查询,其中有几个order by params,在日志中通常最多需要100秒(是的表非常大)...但是当我在同一个DB上运行它时需要2秒左右.
我已经检查了服务器的性能,当时似乎没有特别的减速或瓶颈,也没有很多查询在那个时期花费很长时间而只是那个.
我该如何开始分析这样的问题?
谢谢您的帮助
当违规查询进入慢速日志时,您的系统可能会更忙.
如果rows_examined大于结果集,则慢日志可以指示索引未被充分利用.因此,执行时间应该被视为查询有问题的线索,但rows_examined将为您提供更多明确的答案.
查询时间是高负载服务器上的性能测量不佳,因为任何查询在繁忙的服务器上都可能很慢.您应该使用EXPLAIN和SHOW PROFILE来分析您的查询并对其进行改进,以便它们不会对您的服务器施加太多负担.
SELECT SQL_NO_CACHE ...在分析查询时使用,以便结果不存储在查询缓存中,否则相同查询的后续执行可能会使用查询缓存,从而扭曲查询的任何时间.