Tot*_*oto 7 mysql optimization profiling
在进行查询优化时,SHOW STATUS查询返回的值通过一些实践和解释很容易理解.
但是last_query_cost文字晦涩难懂.
唯一可以解释的是它必须被看作是一个反强壮的价值:越小越好.
但是,我们是否有关于此高级值的更多信息?它的单位是什么?如何计算(估计)?我们如何将它用于高级分析?
谢谢你的宝贵帮助.:)
这与 MySQL 查询优化器的工作方式有关。当您输入并执行查询时,MySQL 将构建一个查询计划。这是通过评估如何以几种不同的方式执行查询并将“成本”分配给不同的可能性来完成的。这些成本主要基于内部统计数据,包括表中的行数、不同索引的基数等数据。完成此操作后,MySQL 选择最便宜的计划并执行查询。last_query_cost值就是这个成本值。
正如您毫无疑问在手册中看到的:
由查询优化器计算的最后编译查询的总成本。这对于比较同一查询的不同查询计划的成本非常有用。默认值 0 表示尚未编译任何查询。默认值为 0。Last_query_cost 具有会话范围。
这确实是事实。该值仅用作比较不同查询的定量测量。
如果您想了解更多信息,可以在线获取一些有关查询优化器的有趣资源。不幸的是,我没有任何可用的链接,但通过简单搜索“mysql 查询优化器”找到一些资源应该不会太难。