optimizer_switch es una variable de servidor que se puede usar para habilitar / deshabilitar optimizaciones específicas.

Sintaxis

Para activar o desactivar las distintas optimizaciones, utilice la siguiente sintaxis:

SET[GLOBAL|SESSION] optimizer_switch='cmd[,cmd]...';

los cmd toma el siguiente formato:

Sintaxis Descripción
defecto Restablezca todas las optimizaciones a sus valores predeterminados.
optimization_name = predeterminado Establezca la optimización especificada en su valor predeterminado.
optimization_name = activado Habilite la optimización especificada.
optimization_name = off Deshabilita la optimización especificada.

No es necesario enumerar todos los indicadores; solo se verán afectados aquellos que se especifiquen en el comando.

Banderas disponibles

A continuación se muestra una lista de todos optimizer_switch banderas disponibles en MariaDB:

Bandera y MariaDB por defecto Soportado en MariaDB desde Compatible con MySQL desde
condition_pushdown_for_derived = activado MariaDB 10.2.2
condition_pushdown_from_having = encendido MariaDB 10.4.3
condition_pushdown_for_subquery = activado MariaDB 10.4.0
Derivado_merge = activado MariaDB 5.3 MySQL 5.7
derivado_con_claves = activado MariaDB 5.3
defecto MariaDB 5.1 MySQL 5.1
engine_condition_pushdown = apagado MariaDB 5.5 (obsoleta en 10.1) MySQL 5.5
existe_a_en = en MariaDB 10.0
Extended_keys = activado MariaDB 5.5.21
firstmatch = encendido MariaDB 5.3 MySQL 5.6
index_condition_pushdown = activado MariaDB 5.3 MySQL 5.6
index_merge = activado MariaDB 5.1 MySQL 5.1
index_merge_intersection = activado MariaDB 5.1 MySQL 5.1
index_merge_sort_intersection = desactivado MariaDB 5.3
index_merge_sort_union = activado MariaDB 5.1 MySQL 5.1
index_merge_union = en # MariaDB 5.1 MySQL 5.1
in_to_exists = en MariaDB 5.3
join_cache_bka = activado MariaDB 5.3
join_cache_hashed = activado MariaDB 5.3
join_cache_incremental = activado MariaDB 5.3
loosescan = encendido MariaDB 5.3 MySQL 5.6
materialization = on (semi-unión, no semi-unión) MariaDB 5.3 MySQL 5.6
mrr = apagado MariaDB 5.3 MySQL 5.6
mrr_cost_based = off MariaDB 5.3 MySQL 5.6
mrr_sort_keys = desactivado MariaDB 5.3
optimizar_join_buffer_size = activado MariaDB 5.3, predeterminado en ON desde MariaDB 10.4.3
orderby_uses_equalities = en MariaDB 10.1.15
external_join_with_cache = activado MariaDB 5.3
parcial_match_rowid_merge = activado MariaDB 5.3
Partial_match_table_scan = activado MariaDB 5.3
rowid_filter = activado MariaDB 10.4.3
semiunir = encendido MariaDB 5.3 MySQL 5.6
semijoin_with_cache = activado MariaDB 5.3
split_materialized = activado[1] MariaDB 10.3.4
subquery_cache = activado MariaDB 5.3
table_elimination = activado MariaDB 5.1
  1. ↑ reemplazado split_grouping_derived, introducido en MariaDB 10.3.1

Defaults

De la versión Configuración predeterminada de optimizer_switch
MariaDB 10.4.3 index_merge = activado, index_merge_union = activado, index_merge_sort_union = activado, index_merge_intersection = activado, index_merge_sort_intersection = desactivado, engine_condition_pushdown = desactivado, index_condition_pushdown = activado, derivado_merge = activado, derivado_con_ke_keys = activado, primer materializado encendido, semijoin = encendido, parcial_match_rowid_merge = encendido, parcial_match_table_scan = encendido, subquery_cache = encendido, mrr = apagado, mrr_cost_based = apagado, mrr_sort_keys = apagado, outside_join_with_cache = encendido, semijoin_with_cache_con_caché = encendido, semijoin_with_cache_on_caché = encendido, unirse optimizar_join_buffer_size =sobre, table_elimination = activado, extended_keys = activado, existe_to_in = activado, orderby_uses_equalities = activado, condition_pushdown_for_derived = activado, split_materialized = activado, condition_pushdown_for_subquery = activado, rowid_filter = activado, condition_pushdown_from_having = activado
MariaDB 10.4.0 index_merge = activado, index_merge_union = activado, index_merge_sort_union = activado, index_merge_intersection = activado, index_merge_sort_intersection = desactivado, engine_condition_pushdown = desactivado, index_condition_pushdown = activado, derivado_merge = activado, derivado_con_ke_keys = activado, primer materializado encendido, semijoin = encendido, parcial_match_rowid_merge = encendido, parcial_match_table_scan = encendido, subquery_cache = encendido, mrr = apagado, mrr_cost_based = apagado, mrr_sort_keys = apagado, outside_join_with_cache = encendido, semijoin_with_cache_con_caché = encendido, semijoin_with_cache_on_caché = encendido, unirse optimizar_join_buffer_size = desactivado, table_elimination = activado, extended_keys = activado, existe_a_en = activado, orderby_uses_equalities = activado, condition_pushdown_for_derived = activado, split_materialized = activado, condition_pushdown_for_subquery = activado
MariaDB 10.3.4 index_merge = activado, index_merge_union = activado, index_merge_sort_union = activado, index_merge_intersection = activado, index_merge_sort_intersection = desactivado, engine_condition_pushdown = desactivado, index_condition_pushdown = activado, derivado_merge = activado, derivado_con_ke_keys = activado, primer materializado on, semijoin = activado, parcial_match_rowid_merge = activado, parcial_match_table_scan = activado, subquery_cache = activado, mrr = desactivado, mrr_cost_based = desactivado, mrr_sort_keys = desactivado, external_join_with_cache = activado, semijoin_with_cache_con_caché = activado, semijoin_with_cache_con_caché = activado, unirse optimizar_join_buffer_size = desactivado, table_elimination = activado, extended_keys = activado, existe_a_en = activado, orderby_uses_equalities = activado, condition_pushdown_for_derived = activado, split_materialized = activado
MariaDB 10.2.2 index_merge = activado, index_merge_union = activado, index_merge_sort_union = activado, index_merge_intersection = activado, index_merge_sort_intersection = desactivado, engine_condition_pushdown = desactivado, index_condition_pushdown = activado, derivado_merge = activado, derivado_con_claves = activado, primer materialización = activado on, semijoin = activado, parcial_match_rowid_merge = activado, parcial_match_table_scan = activado, subquery_cache = activado, mrr = desactivado, mrr_cost_based = desactivado, mrr_sort_keys = desactivado, external_join_with_cache = activado, semijoin_with_cache_con_caché = activado, semijoin_with_cache_con_caché = activado, unirse optimizar_join_buffer_size = desactivado, table_elimination = activado, Extended_keys = activado, existe_a_en = activado, orderby_uses_equalities = activado, condition_pushdown_for_derived = activado
MariaDB 10.1.15 index_merge = activado, index_merge_union = activado, index_merge_sort_union = activado, index_merge_intersection = activado, index_merge_sort_intersection = desactivado, engine_condition_pushdown = desactivado, index_condition_pushdown = activado, derivado_merge = activado, derivado_con_claves = activado, primer materialización = activado encendido, semijoin = encendido, parcial_match_rowid_merge = encendido, parcial_match_table_scan = encendido, subquery_cache = encendido, mrr = apagado, mrr_cost_based = apagado, mrr_sort_keys = apagado, outside_join_with_cache = encendido, semijoin_with_cache_on_caché = encendido, unirse optimizar_join_buffer_size = desactivado, table_elimination = activado, Extended_keys = activado, existe_a_en = activado, orderby_uses_equalities = off
MariaDB 10.0.12 index_merge = activado, index_merge_union = activado, index_merge_sort_union = activado, index_merge_intersection = activado, index_merge_sort_intersection = desactivado, engine_condition_pushdown = desactivado, index_condition_pushdown = activado, derivado_merge = activado, derivado_con_claves = activado, primer materialización = activado on, semijoin = activado, parcial_match_rowid_merge = activado, parcial_match_table_scan = activado, subquery_cache = activado, mrr = desactivado, mrr_cost_based = desactivado, mrr_sort_keys = desactivado, external_join_with_cache = activado, semijoin_with_cache_con_caché = activado, semijoin_with_cache_con_caché = activado, unirse optimizar_join_buffer_size = desactivado, table_elimination = activado, Extended_keys = activado, existe_a_en = en
MariaDB 10.0.9 index_merge = activado, index_merge_union = activado, index_merge_sort_union = activado, index_merge_intersection = activado, index_merge_sort_intersection = desactivado, engine_condition_pushdown = desactivado, index_condition_pushdown = activado, derivado_merge = activado, derivado_con_claves = activado, primer materialización = activado encendido, semijoin = encendido, parcial_match_rowid_merge = encendido, parcial_match_table_scan = encendido, subquery_cache = encendido, mrr = apagado, mrr_cost_based = apagado, mrr_sort_keys = apagado, outside_join_with_cache = encendido, semijoin_with_cache_con_caché = encendido, semijoin_with_cache_on_caché = encendido, unirse optimizar_join_buffer_size = desactivado, table_elimination = activado, Extended_keys = activado, existe_a_en = desactivado
MariaDB 10.0.2 index_merge = activado, index_merge_union = activado, index_merge_sort_union = activado, index_merge_intersection = activado, index_merge_sort_intersection = desactivado, engine_condition_pushdown = desactivado, index_condition_pushdown = activado, derivado_merge = activado, derivado_con_claves = activado, primer materialización = activado encendido, semijoin = encendido, parcial_match_rowid_merge = encendido, parcial_match_table_scan = encendido, subquery_cache = encendido, mrr = apagado, mrr_cost_based = apagado, mrr_sort_keys = apagado, outside_join_with_cache = encendido, semijoin_with_cache_con_caché = encendido, semijoin_with_cache_on_caché = encendido, unirse optimizar_join_buffer_size = desactivado, table_elimination = activado, Extended_keys = desactivado, existe_a_en = desactivado
MariaDB 5.5.21 index_merge = activado, index_merge_union = activado, index_merge_sort_union = activado, index_merge_intersection = activado, index_merge_sort_intersection = desactivado, engine_condition_pushdown = desactivado, index_condition_pushdown = activado, derivado_merge = activado, derivado_con_ke_keys = activado, primer materializado encendido, semijoin = encendido, parcial_match_rowid_merge = encendido, parcial_match_table_scan = encendido, subquery_cache = encendido, mrr = apagado, mrr_cost_based = apagado, mrr_sort_keys = apagado, outside_join_with_cache = encendido, semijoin_with_cache_con_caché = encendido, semijoin_with_cache_on_caché = encendido, unirse optimizar_join_buffer_size = desactivado, table_elimination = activado, Extended_keys = desactivado
MariaDB 5.5.20 index_merge = activado, index_merge_union = activado, index_merge_sort_union = activado, index_merge_intersection = activado, index_merge_sort_intersection = desactivado, engine_condition_pushdown = apagado, index_condition_pushdown = activado, derivado_merge = activado, derivado_con_keys = activado, firstmatch = activado, loosescan = activado, materialización = activado, in_to_exists = activado, semijoin = activado, Partial_match_rowid_merge = activado, Particular_match_table_scan = activado, subconsulta_caché = desactivado_ activado, m. = desactivado, mrr_sort_keys = desactivado, external_join_with_cache = activado, semijoin_with_cache = activado, join_cache_incremental = activado, join_cache_hashed = activado, join_cache_bka = activado, optimizar_join_buffer_size = desactivado, table_elimination = activado
MariaDB 5.3.3 index_merge = activado, index_merge_union = activado, index_merge_sort_union = activado, index_merge_intersection = activado, index_merge_sort_intersection = desactivado, index_condition_pushdown = activado, derivado_merge = activado, derivado_con_keys = activado, firstmatch = activado, loosescan = activado, materialización = activado, in_to_exists = activado, semiunión = activado, Partial_match_rowid_merge = activado, Particular_match_table_scan = activado, subquery_cache = activado, mrr = desactivado, mrr_cost_based = desactivado, mrr_sort_keys = desactivado, external_join_with_cache = activado, semijoin_with_cache = activado, joinka_caché_en_caché_en_completar, unir = encendido
MariaDB 5.3.0 index_merge = activado, index_merge_union = activado, index_merge_sort_union = activado, index_merge_intersection = activado, index_merge_sort_intersection = desactivado, index_condition_pushdown = desactivado, derivado_merge = desactivado, derivado_con_keys = desactivado, firstmatch = desactivado, loosescan = desactivado, materialización = desactivado, in_to_exists = activado, semiunión = desactivado, partición_parcial_corriente_merge = activada, coincidencia parcial = activada_tabla off, mrr_cost_based = off, mrr_sort_keys = off, outside_join_with_cache = off, semijoin_with_cache = off, join_cache_incremental = on, join_cache_hashed = on, join_cache_bka = on, optimizar_join_buffer_size = off, table_elimelimination
< MariaDB 5.3.0 index_merge = activado, index_merge_union = activado, index_merge_sort_union = activado, index_merge_intersection = activado

El contenido reproducido en este sitio es propiedad de sus respectivos dueños, y MariaDB no revisa este contenido con anticipación. Los puntos de vista, la información y las opiniones expresadas por este contenido no representan necesariamente las de MariaDB o de cualquier otra parte.