From c0532653abaa75a20aae1ff50142c266853ffa8d Mon Sep 17 00:00:00 2001 From: tpp Date: Sun, 13 Apr 2025 15:47:34 -0700 Subject: [PATCH 1/6] planner: add optimizer cost factors --- system-variables.md | 153 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 153 insertions(+) diff --git a/system-variables.md b/system-variables.md index 27d4fec816dbc..2d26afc3417aa 100644 --- a/system-variables.md +++ b/system-variables.md @@ -4698,6 +4698,159 @@ SHOW WARNINGS; - Default value: `OFF` - This variable is used to control whether to allow `INSERT`, `REPLACE`, and `UPDATE` statements to operate on the `_tidb_rowid` column. This variable can be used only when you import data using TiDB tools. +### tidb_opt_hash_agg_cost_factor New in v9.0.0 + +- Scope: SESSION | GLOBAL +- Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes +- Type: Float +- Range: `[0, 2147483647]` +- Default value: `1` +- This variable is internally used in the Cost Model, and it is NOT recommended to modify its value unless directed by TiDB Optimizer Engineering. + +### tidb_opt_hash_join_cost_factor New in v9.0.0 + +- Scope: SESSION | GLOBAL +- Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes +- Type: Float +- Range: `[0, 2147483647]` +- Default value: `1` +- This variable is internally used in the Cost Model, and it is NOT recommended to modify its value unless directed by TiDB Optimizer Engineering. + +### tidb_opt_index_join_cost_factor New in v9.0.0 + +- Scope: SESSION | GLOBAL +- Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes +- Type: Float +- Range: `[0, 2147483647]` +- Default value: `1` +- This variable is internally used in the Cost Model, and it is NOT recommended to modify its value unless directed by TiDB Optimizer Engineering. + +### tidb_opt_index_lookup_cost_factor New in v9.0.0 + +- Scope: SESSION | GLOBAL +- Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes +- Type: Float +- Range: `[0, 2147483647]` +- Default value: `1` +- This variable is internally used in the Cost Model, and it is NOT recommended to modify its value unless directed by TiDB Optimizer Engineering. + +### tidb_opt_index_merge_cost_factor New in v9.0.0 + +- Scope: SESSION | GLOBAL +- Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes +- Type: Float +- Range: `[0, 2147483647]` +- Default value: `1` +- This variable is internally used in the Cost Model, and it is NOT recommended to modify its value unless directed by TiDB Optimizer Engineering. + +### tidb_opt_index_reader_cost_factor New in v9.0.0 + +- Scope: SESSION | GLOBAL +- Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes +- Type: Float +- Range: `[0, 2147483647]` +- Default value: `1` +- This variable is internally used in the Cost Model, and it is NOT recommended to modify its value unless directed by TiDB Optimizer Engineering. + +### tidb_opt_index_scan_cost_factor New in v9.0.0 + +- Scope: SESSION | GLOBAL +- Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes +- Type: Float +- Range: `[0, 2147483647]` +- Default value: `1` +- This variable is internally used in the Cost Model, and it is NOT recommended to modify its value unless directed by TiDB Optimizer Engineering. + +### tidb_opt_limit_cost_factor New in v9.0.0 + +- Scope: SESSION | GLOBAL +- Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes +- Type: Float +- Range: `[0, 2147483647]` +- Default value: `1` +- This variable is internally used in the Cost Model, and it is NOT recommended to modify its value unless directed by TiDB Optimizer Engineering. + +### tidb_opt_merge_join_cost_factor New in v9.0.0 + +- Scope: SESSION | GLOBAL +- Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes +- Type: Float +- Range: `[0, 2147483647]` +- Default value: `1` +- This variable is internally used in the Cost Model, and it is NOT recommended to modify its value unless directed by TiDB Optimizer Engineering. + +### tidb_opt_sort_cost_factor New in v9.0.0 + +- Scope: SESSION | GLOBAL +- Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes +- Type: Float +- Range: `[0, 2147483647]` +- Default value: `1` +- This variable is internally used in the Cost Model, and it is NOT recommended to modify its value unless directed by TiDB Optimizer Engineering. + +### tidb_opt_stream_agg_cost_factor New in v9.0.0 + +- Scope: SESSION | GLOBAL +- Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes +- Type: Float +- Range: `[0, 2147483647]` +- Default value: `1` +- This variable is internally used in the Cost Model, and it is NOT recommended to modify its value unless directed by TiDB Optimizer Engineering. + +### tidb_opt_table_fulL_scan_cost_factor New in v9.0.0 + +- Scope: SESSION | GLOBAL +- Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes +- Type: Float +- Range: `[0, 2147483647]` +- Default value: `1` +- This variable is internally used in the Cost Model, and it is NOT recommended to modify its value unless directed by TiDB Optimizer Engineering. + +### tidb_opt_table_range_scan_cost_factor New in v9.0.0 + +- Scope: SESSION | GLOBAL +- Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes +- Type: Float +- Range: `[0, 2147483647]` +- Default value: `1` +- This variable is internally used in the Cost Model, and it is NOT recommended to modify its value unless directed by TiDB Optimizer Engineering. + +### tidb_opt_table_reader_cost_factor New in v9.0.0 + +- Scope: SESSION | GLOBAL +- Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes +- Type: Float +- Range: `[0, 2147483647]` +- Default value: `1` +- This variable is internally used in the Cost Model, and it is NOT recommended to modify its value unless directed by TiDB Optimizer Engineering. + +### tidb_opt_table_rowid_cost_factor New in v9.0.0 + +- Scope: SESSION | GLOBAL +- Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes +- Type: Float +- Range: `[0, 2147483647]` +- Default value: `1` +- This variable is internally used in the Cost Model, and it is NOT recommended to modify its value unless directed by TiDB Optimizer Engineering. + +### tidb_opt_table_tiflash_scan_cost_factor New in v9.0.0 + +- Scope: SESSION | GLOBAL +- Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes +- Type: Float +- Range: `[0, 2147483647]` +- Default value: `1` +- This variable is internally used in the Cost Model, and it is NOT recommended to modify its value unless directed by TiDB Optimizer Engineering. + +### tidb_opt_topn_cost_factor New in v9.0.0 + +- Scope: SESSION | GLOBAL +- Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes +- Type: Float +- Range: `[0, 2147483647]` +- Default value: `1` +- This variable is internally used in the Cost Model, and it is NOT recommended to modify its value unless directed by TiDB Optimizer Engineering. + ### tidb_optimizer_selectivity_level - Scope: SESSION From b286347bb9c7ef3f586457c2e7997693c886a5e1 Mon Sep 17 00:00:00 2001 From: tpp <146148086+terry1purcell@users.noreply.github.com> Date: Sun, 13 Apr 2025 15:50:43 -0700 Subject: [PATCH 2/6] Update system-variables.md Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- system-variables.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system-variables.md b/system-variables.md index 2d26afc3417aa..35af6e2ce30bf 100644 --- a/system-variables.md +++ b/system-variables.md @@ -4797,7 +4797,7 @@ SHOW WARNINGS; - Default value: `1` - This variable is internally used in the Cost Model, and it is NOT recommended to modify its value unless directed by TiDB Optimizer Engineering. -### tidb_opt_table_fulL_scan_cost_factor New in v9.0.0 +### tidb_opt_table_full_scan_cost_factor New in v9.0.0 - Scope: SESSION | GLOBAL - Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes From f0502d088abec7bfe84a2423516ceeb49eff73af Mon Sep 17 00:00:00 2001 From: tpp Date: Fri, 25 Apr 2025 12:17:24 -0700 Subject: [PATCH 3/6] typo --- system-variables.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system-variables.md b/system-variables.md index 2d26afc3417aa..35af6e2ce30bf 100644 --- a/system-variables.md +++ b/system-variables.md @@ -4797,7 +4797,7 @@ SHOW WARNINGS; - Default value: `1` - This variable is internally used in the Cost Model, and it is NOT recommended to modify its value unless directed by TiDB Optimizer Engineering. -### tidb_opt_table_fulL_scan_cost_factor New in v9.0.0 +### tidb_opt_table_full_scan_cost_factor New in v9.0.0 - Scope: SESSION | GLOBAL - Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes From 27def08c7b248db3b64cec1df46305c16f100654 Mon Sep 17 00:00:00 2001 From: Aolin Date: Tue, 15 Jul 2025 15:32:52 +0800 Subject: [PATCH 4/6] system variables: add v8.5.3 where applicable and revise wording --- system-variables.md | 119 +++++++++++++++++++++++++++++++------------- 1 file changed, 85 insertions(+), 34 deletions(-) diff --git a/system-variables.md b/system-variables.md index 35af6e2ce30bf..c965574da83b9 100644 --- a/system-variables.md +++ b/system-variables.md @@ -4698,158 +4698,209 @@ SHOW WARNINGS; - Default value: `OFF` - This variable is used to control whether to allow `INSERT`, `REPLACE`, and `UPDATE` statements to operate on the `_tidb_rowid` column. This variable can be used only when you import data using TiDB tools. -### tidb_opt_hash_agg_cost_factor New in v9.0.0 +### tidb_opt_hash_agg_cost_factor New in v8.5.3 and v9.0.0 + +> **Warning:** +> +> This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. - Scope: SESSION | GLOBAL - Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes - Type: Float - Range: `[0, 2147483647]` - Default value: `1` -- This variable is internally used in the Cost Model, and it is NOT recommended to modify its value unless directed by TiDB Optimizer Engineering. -### tidb_opt_hash_join_cost_factor New in v9.0.0 +### tidb_opt_hash_join_cost_factor New in v8.5.3 and v9.0.0 + +> **Warning:** +> +> This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. - Scope: SESSION | GLOBAL - Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes - Type: Float - Range: `[0, 2147483647]` - Default value: `1` -- This variable is internally used in the Cost Model, and it is NOT recommended to modify its value unless directed by TiDB Optimizer Engineering. -### tidb_opt_index_join_cost_factor New in v9.0.0 +### tidb_opt_index_join_cost_factor New in v8.5.3 and v9.0.0 + +> **Warning:** +> +> This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. - Scope: SESSION | GLOBAL - Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes - Type: Float - Range: `[0, 2147483647]` - Default value: `1` -- This variable is internally used in the Cost Model, and it is NOT recommended to modify its value unless directed by TiDB Optimizer Engineering. -### tidb_opt_index_lookup_cost_factor New in v9.0.0 +### tidb_opt_index_lookup_cost_factor New in v8.5.3 and v9.0.0 + +> **Warning:** +> +> This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. - Scope: SESSION | GLOBAL - Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes - Type: Float - Range: `[0, 2147483647]` - Default value: `1` -- This variable is internally used in the Cost Model, and it is NOT recommended to modify its value unless directed by TiDB Optimizer Engineering. -### tidb_opt_index_merge_cost_factor New in v9.0.0 +### tidb_opt_index_merge_cost_factor New in v8.5.3 and v9.0.0 + +> **Warning:** +> +> This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. - Scope: SESSION | GLOBAL - Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes - Type: Float - Range: `[0, 2147483647]` - Default value: `1` -- This variable is internally used in the Cost Model, and it is NOT recommended to modify its value unless directed by TiDB Optimizer Engineering. -### tidb_opt_index_reader_cost_factor New in v9.0.0 +### tidb_opt_index_reader_cost_factor New in v8.5.3 and v9.0.0 + +> **Warning:** +> +> This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. - Scope: SESSION | GLOBAL - Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes - Type: Float - Range: `[0, 2147483647]` - Default value: `1` -- This variable is internally used in the Cost Model, and it is NOT recommended to modify its value unless directed by TiDB Optimizer Engineering. -### tidb_opt_index_scan_cost_factor New in v9.0.0 +### tidb_opt_index_scan_cost_factor New in v8.5.3 and v9.0.0 + +> **Warning:** +> +> This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. - Scope: SESSION | GLOBAL - Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes - Type: Float - Range: `[0, 2147483647]` - Default value: `1` -- This variable is internally used in the Cost Model, and it is NOT recommended to modify its value unless directed by TiDB Optimizer Engineering. -### tidb_opt_limit_cost_factor New in v9.0.0 +### tidb_opt_limit_cost_factor New in v8.5.3 and v9.0.0 + +> **Warning:** +> +> This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. - Scope: SESSION | GLOBAL - Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes - Type: Float - Range: `[0, 2147483647]` - Default value: `1` -- This variable is internally used in the Cost Model, and it is NOT recommended to modify its value unless directed by TiDB Optimizer Engineering. -### tidb_opt_merge_join_cost_factor New in v9.0.0 +### tidb_opt_merge_join_cost_factor New in v8.5.3 and v9.0.0 + +> **Warning:** +> +> This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. - Scope: SESSION | GLOBAL - Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes - Type: Float - Range: `[0, 2147483647]` - Default value: `1` -- This variable is internally used in the Cost Model, and it is NOT recommended to modify its value unless directed by TiDB Optimizer Engineering. -### tidb_opt_sort_cost_factor New in v9.0.0 +### tidb_opt_sort_cost_factor New in v8.5.3 and v9.0.0 + +> **Warning:** +> +> This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. - Scope: SESSION | GLOBAL - Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes - Type: Float - Range: `[0, 2147483647]` - Default value: `1` -- This variable is internally used in the Cost Model, and it is NOT recommended to modify its value unless directed by TiDB Optimizer Engineering. -### tidb_opt_stream_agg_cost_factor New in v9.0.0 +### tidb_opt_stream_agg_cost_factor New in v8.5.3 and v9.0.0 + +> **Warning:** +> +> This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. - Scope: SESSION | GLOBAL - Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes - Type: Float - Range: `[0, 2147483647]` - Default value: `1` -- This variable is internally used in the Cost Model, and it is NOT recommended to modify its value unless directed by TiDB Optimizer Engineering. -### tidb_opt_table_full_scan_cost_factor New in v9.0.0 +### tidb_opt_table_full_scan_cost_factor New in v8.5.3 and v9.0.0 + +> **Warning:** +> +> This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. - Scope: SESSION | GLOBAL - Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes - Type: Float - Range: `[0, 2147483647]` - Default value: `1` -- This variable is internally used in the Cost Model, and it is NOT recommended to modify its value unless directed by TiDB Optimizer Engineering. -### tidb_opt_table_range_scan_cost_factor New in v9.0.0 +### tidb_opt_table_range_scan_cost_factor New in v8.5.3 and v9.0.0 + +> **Warning:** +> +> This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. - Scope: SESSION | GLOBAL - Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes - Type: Float - Range: `[0, 2147483647]` - Default value: `1` -- This variable is internally used in the Cost Model, and it is NOT recommended to modify its value unless directed by TiDB Optimizer Engineering. -### tidb_opt_table_reader_cost_factor New in v9.0.0 +### tidb_opt_table_reader_cost_factor New in v8.5.3 and v9.0.0 + +> **Warning:** +> +> This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. - Scope: SESSION | GLOBAL - Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes - Type: Float - Range: `[0, 2147483647]` - Default value: `1` -- This variable is internally used in the Cost Model, and it is NOT recommended to modify its value unless directed by TiDB Optimizer Engineering. -### tidb_opt_table_rowid_cost_factor New in v9.0.0 +### tidb_opt_table_rowid_cost_factor New in v8.5.3 and v9.0.0 + +> **Warning:** +> +> This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. - Scope: SESSION | GLOBAL - Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes - Type: Float - Range: `[0, 2147483647]` - Default value: `1` -- This variable is internally used in the Cost Model, and it is NOT recommended to modify its value unless directed by TiDB Optimizer Engineering. -### tidb_opt_table_tiflash_scan_cost_factor New in v9.0.0 +### tidb_opt_table_tiflash_scan_cost_factor New in v8.5.3 and v9.0.0 + +> **Warning:** +> +> This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. - Scope: SESSION | GLOBAL - Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes - Type: Float - Range: `[0, 2147483647]` - Default value: `1` -- This variable is internally used in the Cost Model, and it is NOT recommended to modify its value unless directed by TiDB Optimizer Engineering. -### tidb_opt_topn_cost_factor New in v9.0.0 +### tidb_opt_topn_cost_factor New in v8.5.3 and v9.0.0 + +> **Warning:** +> +> This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. - Scope: SESSION | GLOBAL - Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes - Type: Float - Range: `[0, 2147483647]` - Default value: `1` -- This variable is internally used in the Cost Model, and it is NOT recommended to modify its value unless directed by TiDB Optimizer Engineering. ### tidb_optimizer_selectivity_level From 9c0d81e9a12b9d6f392e18cbb87d9cdcfee15aaa Mon Sep 17 00:00:00 2001 From: Lilian Lee Date: Wed, 13 Aug 2025 16:28:02 +0800 Subject: [PATCH 5/6] Update wording and capitalization --- system-variables.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system-variables.md b/system-variables.md index c965574da83b9..aa9a34c3866ac 100644 --- a/system-variables.md +++ b/system-variables.md @@ -4702,7 +4702,7 @@ SHOW WARNINGS; > **Warning:** > -> This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. +> This variable is used internally by the [cost model](/cost-model.md), and it is **NOT** recommended to modify its value. - Scope: SESSION | GLOBAL - Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes From a9cb004226130d8d259a008988c7edc24e2b8942 Mon Sep 17 00:00:00 2001 From: lilin90 Date: Wed, 13 Aug 2025 16:31:42 +0800 Subject: [PATCH 6/6] Update wording --- system-variables.md | 50 ++++++++++++++++++++++----------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/system-variables.md b/system-variables.md index aa9a34c3866ac..ea576667ad420 100644 --- a/system-variables.md +++ b/system-variables.md @@ -3932,7 +3932,7 @@ As shown in this diagram, when [`tidb_enable_paging`](#tidb_enable_paging-new-in - Type: Float - Range: `[0, 18446744073709551615]` - Default value: `3.0` -- Indicates the CPU cost of starting a Golang goroutine in TiDB. This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. +- Indicates the CPU cost of starting a Golang goroutine in TiDB. This variable is used internally by the [cost model](/cost-model.md), and it is **NOT** recommended to modify its value. ### tidb_opt_copcpu_factor @@ -3942,7 +3942,7 @@ As shown in this diagram, when [`tidb_enable_paging`](#tidb_enable_paging-new-in - Type: Float - Range: `[0, 18446744073709551615]` - Default value: `3.0` -- Indicates the CPU cost for TiKV Coprocessor to process one row. This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. +- Indicates the CPU cost for TiKV Coprocessor to process one row. This variable is used internally by the [cost model](/cost-model.md), and it is **NOT** recommended to modify its value. ### tidb_opt_correlation_exp_factor @@ -3976,7 +3976,7 @@ As shown in this diagram, when [`tidb_enable_paging`](#tidb_enable_paging-new-in - Type: Float - Range: `[0, 2147483647]` - Default value: `3.0` -- Indicates the CPU cost for TiDB to process one row. This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. +- Indicates the CPU cost for TiDB to process one row. This variable is used internally by the [cost model](/cost-model.md), and it is **NOT** recommended to modify its value. ### `tidb_opt_derive_topn` New in v7.0.0 @@ -3995,7 +3995,7 @@ As shown in this diagram, when [`tidb_enable_paging`](#tidb_enable_paging-new-in - Type: Float - Range: `[0, 18446744073709551615]` - Default value: `3.0` -- Indicates the cost for TiKV to scan one row from the disk in descending order. This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. +- Indicates the cost for TiKV to scan one row from the disk in descending order. This variable is used internally by the [cost model](/cost-model.md), and it is **NOT** recommended to modify its value. ### tidb_opt_disk_factor @@ -4005,7 +4005,7 @@ As shown in this diagram, when [`tidb_enable_paging`](#tidb_enable_paging-new-in - Type: Float - Range: `[0, 18446744073709551615]` - Default value: `1.5` -- Indicates the I/O cost for TiDB to read or write one byte of data from or to the temporary disk. This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. +- Indicates the I/O cost for TiDB to read or write one byte of data from or to the temporary disk. This variable is used internally by the [cost model](/cost-model.md), and it is **NOT** recommended to modify its value. ### tidb_opt_distinct_agg_push_down @@ -4210,7 +4210,7 @@ mysql> desc select count(distinct a) from test.t; - Type: Float - Range: `[0, 2147483647]` - Default value: `0.001` -- Indicates the memory cost for TiDB to store one row. This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. +- Indicates the memory cost for TiDB to store one row. This variable is used internally by the [cost model](/cost-model.md), and it is **NOT** recommended to modify its value. ### tidb_opt_mpp_outer_join_fixed_build_side New in v5.1.0 @@ -4229,7 +4229,7 @@ mysql> desc select count(distinct a) from test.t; - Type: Float - Range: `[0, 2147483647]` - Default value: `1.0` -- Indicates the net cost of transferring 1 byte of data through the network. This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. +- Indicates the net cost of transferring 1 byte of data through the network. This variable is used internally by the [cost model](/cost-model.md), and it is **NOT** recommended to modify its value. ### tidb_opt_objective New in v7.4.0 @@ -4633,7 +4633,7 @@ SHOW WARNINGS; - Type: Float - Range: `[0, 2147483647]` - Default value: `1.5` -- Indicates the cost for TiKV to scan one row of data from the disk in ascending order. This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. +- Indicates the cost for TiKV to scan one row of data from the disk in ascending order. This variable is used internally by the [cost model](/cost-model.md), and it is **NOT** recommended to modify its value. ### tidb_opt_seek_factor @@ -4643,7 +4643,7 @@ SHOW WARNINGS; - Type: Float - Range: `[0, 2147483647]` - Default value: `20` -- Indicates the start-up cost for TiDB to request data from TiKV. This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. +- Indicates the start-up cost for TiDB to request data from TiKV. This variable is used internally by the [cost model](/cost-model.md), and it is **NOT** recommended to modify its value. ### tidb_opt_skew_distinct_agg New in v6.2.0 @@ -4714,7 +4714,7 @@ SHOW WARNINGS; > **Warning:** > -> This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. +> This variable is used internally by the [cost model](/cost-model.md), and it is **NOT** recommended to modify its value. - Scope: SESSION | GLOBAL - Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes @@ -4726,7 +4726,7 @@ SHOW WARNINGS; > **Warning:** > -> This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. +> This variable is used internally by the [cost model](/cost-model.md), and it is **NOT** recommended to modify its value. - Scope: SESSION | GLOBAL - Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes @@ -4738,7 +4738,7 @@ SHOW WARNINGS; > **Warning:** > -> This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. +> This variable is used internally by the [cost model](/cost-model.md), and it is **NOT** recommended to modify its value. - Scope: SESSION | GLOBAL - Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes @@ -4750,7 +4750,7 @@ SHOW WARNINGS; > **Warning:** > -> This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. +> This variable is used internally by the [cost model](/cost-model.md), and it is **NOT** recommended to modify its value. - Scope: SESSION | GLOBAL - Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes @@ -4762,7 +4762,7 @@ SHOW WARNINGS; > **Warning:** > -> This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. +> This variable is used internally by the [cost model](/cost-model.md), and it is **NOT** recommended to modify its value. - Scope: SESSION | GLOBAL - Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes @@ -4774,7 +4774,7 @@ SHOW WARNINGS; > **Warning:** > -> This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. +> This variable is used internally by the [cost model](/cost-model.md), and it is **NOT** recommended to modify its value. - Scope: SESSION | GLOBAL - Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes @@ -4786,7 +4786,7 @@ SHOW WARNINGS; > **Warning:** > -> This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. +> This variable is used internally by the [cost model](/cost-model.md), and it is **NOT** recommended to modify its value. - Scope: SESSION | GLOBAL - Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes @@ -4798,7 +4798,7 @@ SHOW WARNINGS; > **Warning:** > -> This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. +> This variable is used internally by the [cost model](/cost-model.md), and it is **NOT** recommended to modify its value. - Scope: SESSION | GLOBAL - Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes @@ -4810,7 +4810,7 @@ SHOW WARNINGS; > **Warning:** > -> This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. +> This variable is used internally by the [cost model](/cost-model.md), and it is **NOT** recommended to modify its value. - Scope: SESSION | GLOBAL - Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes @@ -4822,7 +4822,7 @@ SHOW WARNINGS; > **Warning:** > -> This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. +> This variable is used internally by the [cost model](/cost-model.md), and it is **NOT** recommended to modify its value. - Scope: SESSION | GLOBAL - Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes @@ -4834,7 +4834,7 @@ SHOW WARNINGS; > **Warning:** > -> This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. +> This variable is used internally by the [cost model](/cost-model.md), and it is **NOT** recommended to modify its value. - Scope: SESSION | GLOBAL - Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes @@ -4846,7 +4846,7 @@ SHOW WARNINGS; > **Warning:** > -> This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. +> This variable is used internally by the [cost model](/cost-model.md), and it is **NOT** recommended to modify its value. - Scope: SESSION | GLOBAL - Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes @@ -4858,7 +4858,7 @@ SHOW WARNINGS; > **Warning:** > -> This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. +> This variable is used internally by the [cost model](/cost-model.md), and it is **NOT** recommended to modify its value. - Scope: SESSION | GLOBAL - Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes @@ -4870,7 +4870,7 @@ SHOW WARNINGS; > **Warning:** > -> This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. +> This variable is used internally by the [cost model](/cost-model.md), and it is **NOT** recommended to modify its value. - Scope: SESSION | GLOBAL - Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes @@ -4882,7 +4882,7 @@ SHOW WARNINGS; > **Warning:** > -> This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. +> This variable is used internally by the [cost model](/cost-model.md), and it is **NOT** recommended to modify its value. - Scope: SESSION | GLOBAL - Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes @@ -4894,7 +4894,7 @@ SHOW WARNINGS; > **Warning:** > -> This variable is internally used in the [Cost Model](/cost-model.md), and it is **NOT** recommended to modify its value. +> This variable is used internally by the [cost model](/cost-model.md), and it is **NOT** recommended to modify its value. - Scope: SESSION | GLOBAL - Applies to hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value): Yes