Mysql 8.0.18散列连接测试(推荐)

  

  

散列连接不需要任何索引来执行,并且在大多数情况下比当前的块嵌套循环算法更有效。

  

下面通过实例代码给大家介绍Mysql 8.0.18散列连接测试,具体内容如下所示:

        创建表COLUMNS_hj select * from information_schema.“列”;   插入列SELECT * FROM列;——最后一次插入25万行      创建表COLUMNS_hj2 select * from information_schema.“列”,            解释格式=树   选择   计数(c1。特权),   总和(c1.ordinal_position)   从   COLUMNS_hj c1,   COLUMNS_hj2 c2   在哪里   c1。table_name=c2.table_name   和c1。column_name=c2.column_name   集团   c1.table_name,   c1.column_name   命令   c1.table_name,   c1.column_name;      

必须使用格式=树(8.0.16的新特性)才能查看散列连接的执行计划:

        →:& lt; temporary>。TABLE_NAME & lt; temporary> .COLUMN_NAME   →表扫描>   设置join_buffer_size=1048576000;      选择   计数(c1。特权),   总和(c1.ordinal_position)   从   COLUMNS_hj c1,   COLUMNS_hj2 c2   在哪里   c1。table_name=c2.table_name   和c1。column_name=c2.column_name   集团   c1.table_name,   c1.column_name   命令   c1.table_name,   c1.column_name;      

1.5秒左右。

  


  再来看BNL,先创建索引(分别优化了,再对比效果才公平)。

        alter table columns_hj下降指数idx_columns_hj;   alter table columns_hj2下降指数idx_columns_hj2;   创建索引idx_columns_hj>   mysql>选择/* + set_var (optimizer_switch=index_merge=off) set_var join_buffer_size=4米*/c_id从客户限制1;      

SET_VAR支持的变量列表:

        auto_increment_increment   auto_increment_offset   big_tables   bulk_insert_buffer_size   default_tmp_storage_engine   div_precision_increment   end_markers_in_json   eq_range_index_dive_limit   foreign_key_checks   group_concat_max_len   insert_id   internal_tmp_mem_storage_engine   join_buffer_size   lock_wait_timeout   max_error_count   max_execution_time   max_heap_table_size   max_join_size   max_length_for_sort_data   max_points_in_geometry   max_seeks_for_key   max_sort_length   optimizer_prune_level   optimizer_search_depth变量   optimizer_switch   range_alloc_block_size   range_optimizer_max_mem_size   read_buffer_size   read_rnd_buffer_size   sort_buffer_size   sql_auto_is_null   sql_big_selects   sql_buffer_result   sql_mode   sql_safe_updates   sql_select_limit   时间戳   tmp_table_size   updatable_views_with_limit   unique_checks   windowing_use_high_precision      

  

以上所述是小编给大家介绍的Mysql 8.0.18散列连接测试,希望对大家有所帮助,如果大家有任何疑问请给我留的言,小编会及时回复大家的。在此也非常感谢大家对网站的支持。
  如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Mysql 8.0.18散列连接测试(推荐)