hint是什么意思,数学hint什么意思

hint是什么意思,数学hint什么意思 昨天下午在查资料的时候,无意间点到了MySQL的官网。发现MySQL发布了一个新版本。Mysql这个数据库有没有人不熟悉?不用的?没有吧。2019年末,MySQL发布的8.0

昨天下午在查资料的时候,无意间点到了MySQL的官网。发现MySQL发布了一个新版本。

Mysql这个数据库有没有人不熟悉?不用的?没有吧。

2019年末,MySQL发布的8.0.18 GA版本,带来了一些新特性和增强功能。其中最引人注目的莫过于多表连接查询支持Hash Join。

关于MySQL Hash Join的特性介绍:

  • 1、对于大数据量的表关联,HJ(Hash Join)速度将明显比NL(Nested Loop)快很多
  • 2、在内存中处理
  • 3、必要情况下,会使用磁盘空间
  • 4、用于内连接,可扩展到外连接、半连接和反连接
  • 5、替换查询计划中的Block Nested Loop
  • 6、可以通过HINT强制SQL走HJ或者NL

有的同学可能已经懵逼了。什么是Hash Join?什么是NL?HINT又是什么鬼?

第一部分先做一个简单的科普

首先,在多表联合查询的时候,如果我们查看它的执行计划,就会发现里面有多表之间的连接方式。多表之间的连接有三种方式:Nested Loops,Hash Join 和 Sort Merge Join。

肯定有人说,阿里巴巴规范上都说了,并发情况下不能用多表查询。你有多大并发?任何一个系统的后台都会用到多表联合查询。

Hash Join 在Spark 和 Flink的SQL部分进行Join的时候都会被用到,之前我们发过一篇文章:

[Spark SQL Join的三种实现方式]。

Hash Join散列连接是CBO做大数据集连接时的常用方式,而且通常适合大小表之间进行Join。一般来说,使用小表利用连接键(JOIN KEY)在内存中建立散列表,将列数据存储到hash列表中,然后扫描较大的表,同样对JOIN KEY进行HASH后探测散列表,找出与散列表匹配的行。

有的同学又懵逼了。CBO是什么?这里我们就不展开了,简单的说CBO是一种SQL优化方式,它会根据真实的数据情况,评估执行计划,选择代价最小的执行计划。

什么是执行计划?百度去吧...[黑人问号脸]

那什么是Nested Loops?简单的说就是两层循环,用第一张表做Outter Loop,第二张表做Inner Loop,Outter Loop的每一条记录跟Inner Loop的记录作比较,找出符合条件的数据。当然Nested Loops有多种情况。我们举个最简单的例子,伪代码如下:


for (r in R) {
for (s in S) {
if (r satisfy condition s) {
output

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/100684.html

(1)

相关推荐

  • 中通快递单号一般是几位数,中通快递运单号码几位数

    快递单号几位数(中通快递单号15位数对吗)快递单号几位数(中通快递单号15位数对吗)常见的几个快递订单号:EMS号是13位数字,申通快递订单号通常是12位数字,童渊快递订单号是10位数字,大云快递订单号是13位数字,ZT

    电商 2021年11月19日
  • qq飞车雪怪在哪

    想必现在有很多小伙伴对于qq飞车红色雪怪可以得到什么方面的知识都比较想要了解,那么今天小好小编就为大家收集了一些关于qq飞车红色雪怪可以得到什么方面的知识分享给大家,希望大家会喜欢...

    2022年7月7日
  • 冬至孩子适合吃什么(冬至饮食温馨提示幼儿园)

    到了冬季父母最先想到的就是要给孩子保温,避免孩子着凉感冒,在饮食上也会从夏季的凉菜过渡到温热的煲汤、炖菜等,暖暖的汤喝下去似乎全身都会温暖起来。

    生活 2021年12月21日
  • 钉坐梨的意思(字义,诗词)

    词组钉坐梨的意思(字义,诗词)基本解释详细字义 钉坐梨拼音:dīng zuò lí注音:ㄉ一ㄥㄉ一ㄥˋ ㄗㄨㄛˋ ㄌ一ˊ解释:见"钉座梨"。古代诗词宋代.曾几.食酥二首:「土酥绝类穆家儿,好著崔家钉坐梨。」

    阅读 2021年11月14日
  • 为什么不结婚,婚前恐惧症的1个前兆

    为什么不结婚,婚前恐惧症的1个前兆 对于即将结婚的新人来说,外人看他们一定是非常羡慕的,因为他们终于修成正果,以后就能幸福的在一起了。但是对于即将结婚的新人来说,他们的内心可能不会这么幸福洋溢,有的人可能会有婚前恐惧症,

    攻略 2021年11月27日
  • 中国多少省份,中国多少个省份31个省

    中国多少省份,中国多少个省份31个省 1.省:黑龙江省—黑(哈尔滨)、吉林省—吉(长春)、辽宁省—辽(沈阳)、河北省—冀(石家庄)、甘肃省—甘(兰州)、青海省—青(西宁)、陕西省—陕(西安)、河南省—豫(郑州)、山东

    攻略 2021年10月9日