MySQL Variables optimizer_search_depth 数据库 参数变量解释及正确配置使用
本站中文解释
optimizer_search_depth参数控制MySQL的优化器(Optimizer)在执行查询语句时,用于决定最佳查询执行方案的深度。优化器使用一种名为组合搜索(Combinatorial search)的方法,把可能的查询执行路径依次展开,根据这些路径对应的成本比较,以决定最佳解。
要设置 optimizer_search_depth 参数,可以执行以下操作:在 MySQL 的命令行模式中执行:
set optimizer_search_depth = N;
N 表示搜索深度,它必须是一个大于 0 的正整数值。
举个例子,假设我们要将搜索深度设置为 4,可以使用以下SQL语句:
set optimizer_search_depth = 4;
官方英文解释
optimizer_search_depth
Command-Line Format | --optimizer-search-depth=# |
---|---|
System Variable | optimizer_search_depth |
Scope | Global, Session |
Dynamic | Yes |
Type | Integer |
Default Value | 62 |
Minimum Value | 0 |
Maximum Value | 62 |
The maximum depth of search performed by the query optimizer.
Values larger than the number of relations in a query result
in better query plans, but take longer to generate an
execution plan for a query. Values smaller than the number of
relations in a query return an execution plan quicker, but the
resulting plan may be far from being optimal. If set to 0, the
system automatically picks a reasonable value.