• last_query_cost


     

    The total cost of the last compiled query as computed by the query optimizer. This is useful for comparing the cost of different query plans for the same query. The default value of 0 means that no query has been compiled yet. The default value is 0. Last_query_cost has session scope.

    The Last_query_cost value can be computed accurately only for simple flat queries, not complex queries such as those with subqueries or UNION. For the latter, the value is set to 0.

    (last_query_cost对于简单的查询可以精确的得到计算,但于包含子查询或union的复杂查询值是0)

    Q:

    When doing query optimization, the SHOW STATUS query returns values that are easy to understand with some practice and explanation.

    But last_query_cost is obscure and poorly documented.

    The only thing explained is that it must be read as an anti-macho value: the smaller the better.

    But do we have further information about this high-level value? What is its unit? How is it calculated (estimated)? etc. How can we use it for an advanced profiling?

    A:

    This has to do with how the MySQL Query Optimizer works. When you enter and execute a query, MySQL will construct a query plan. This is done by evaluating how the query can be executed in several different ways, and assigning "costs" to the different possibilities. These costs are based mostly on internal statistics, and includes data such as the number of rows in the table, the cardinality of different indices and so forth. When this is done, MySQL choses the least expensive plan and executes the query. The last_query_cost value is this cost value.

    As you've no doubt seen in the manual:

    The total cost of the last compiled query as computed by the query optimizer. This is useful for comparing the cost of different query plans for the same query. The default value of 0 means that no query has been compiled yet. The default value is 0. Last_query_cost has session scope.

    This is indeed true. The value is only useful as a quantitative measurement to compare different queries.

    There's some interesting resources on the query optimizer available online, if you want to learn more. Unfortunately, I don't have any links for you readily available, but it shouldn't be too hard to find some resources through a simple search for "mysql query optimizer".

    参考:

    https://dev.mysql.com/doc/refman/5.5/en/server-status-variables.html#statvar_Last_query_cost
    http://stackoverflow.com/questions/1071708/further-information-about-last-query-cost-in-mysql

  • 相关阅读:
    jQuery(Ajax)
    博文相关接口
    登录接口设计和实现
    CSS-层叠样式表
    Google Kaptcha 生成图形验证码
    IDEA中如何修改生成javadoc里默认的author
    maven项目resources文件在target找不到
    IDEA 获取 resources 下的文件
    免安装版 mysql5.7.zip 的配置记录
    从前端模块化 到 webpack 再到使用 vue文件
  • 原文地址:https://www.cnblogs.com/xiaotengyi/p/3565471.html
Copyright © 2020-2023  润新知