当前位置: 首页 > news >正文

网站建设人员求职信最适合穷人开的店

网站建设人员求职信,最适合穷人开的店,吕梁营销型网站建设费用,网站建设详细报价单文章目录 前言一、join是什么?二、join的使用例子三、join的连接方式1、简单嵌套2、索引嵌套3、块嵌套4、哈希连接 前言 面试的时候,被问到join 的底层原理,之前没有深入了解过,今天对这个知识点进行一个学习。 一、join是什么&…

文章目录

  • 前言
  • 一、join是什么?
  • 二、join的使用例子
  • 三、join的连接方式
    • 1、简单嵌套
    • 2、索引嵌套
    • 3、块嵌套
    • 4、哈希连接


前言

面试的时候,被问到join 的底层原理,之前没有深入了解过,今天对这个知识点进行一个学习。

一、join是什么?

JOIN 是用于将多个表中的数据按照指定的条件关联起来的操作,其本质就是各个表之间数据的循环匹配

二、join的使用例子

假设有两个表:customersorders

customers 表包含以下列:

  • customer_id (主键)
  • customer_name
  • customer_email

orders 表包含以下列:

  • order_id (主键)
  • customer_id (外键,关联 customers 表中的 customer_id)
  • order_date
  • order_total

我们可以使用 JOIN 操作来查询某个客户的订单信息。以下是一个示例查询:

SELECT customers.customer_name, orders.order_id, orders.order_date, orders.order_total
FROM customers
JOIN orders ON customers.customer_id = orders.customer_id
WHERE customers.customer_name = 'John Doe';

上述查询使用 INNER JOIN 连接 customers 表和 orders 表,连接条件是 customers.customer_id = orders.customer_id。它将返回所有满足条件(customer_name 为 ‘John Doe’)的客户的订单信息。

在这个例子中,MySQL 的 JOIN 操作会根据连接条件将 customers 表和 orders 表进行连接。它会首先找到满足连接条件的行,然后将这些行组合起来形成结果集。最终的查询结果将包含客户名、订单ID、订单日期和订单总额等信息。

三、join的连接方式

5.5 版本之前,MySQL本身只支持一种表间关联方式,就是嵌套循环(Nested Loop Join)。如果关联表的数据量很大,则join关联的执行时间会非常长。在5.5以后的版本中,MySQL通过引入BNLJ算法来优化嵌套执行。

1、简单嵌套

这是 JOIN 操作最基本的连接算法。它通过两层循环嵌套来实现连接。对于 JOIN 操作中的每一行,MySQL 在连接的另一个表中执行一个循环,找到满足连接条件的匹配行。嵌套循环连接算法简单直观,但在处理大型数据集时可能效率较低。在这里插入图片描述

2、索引嵌套

其优化的思路主要是为了 减少内层表数据的匹配次数,所以要求被驱动表上必须 有索引 才行。通过索引逐行匹配连接条件,而不是使用嵌套循环。这可以减少循环的次数,提高连接的性能。在这里插入图片描述

3、块嵌套

如果关联的是非驱动表的索引会走索引嵌套,但如果join的列不是索引,就会采用Block Nested-Loop Join
不再是逐条获取驱动表的数据,而是一块一块的获取,引入了 join buffer 缓冲区,将驱动表 join 相关的部分数据列(大小受 join buffer 的限制)缓存到 join buffer 中,然后全表扫描被驱动表,被驱动表的每一条记录一次性和 join buffer 中的所有驱动表记录进行匹配(内存中操作),将简单嵌套循环中的多次比较合并成一次,降低了被动表的访问频率。在这里插入图片描述

4、哈希连接

如果连接的列上没有适用的索引,并且数据量较大,MySQL 可以使用哈希连接算法。哈希连接算法首先将连接的两个表中的连接列进行哈希操作,然后根据哈希值将行分配到不同的哈希桶中。接下来,MySQL 通过匹配相同哈希值的行来找到满足连接条件的行。哈希连接算法适用于大型数据集和无序的连接列,但它需要额外的内存来存储哈希表

http://www.yayakq.cn/news/807004/

相关文章:

  • 承德网站设计公司有域名自己做网站吗
  • 长春 网站 设计公司外贸建站哪家
  • 公司手机网站建设公司wordpress提示安装
  • shopify做全品类网站长沙建站宝网络科技有限公司
  • 免费个人手机网站网站突然不能访问
  • 家庭局域网设计方案南京seo整站优化技术
  • 看视频做那个网站好wordpress开放多站点
  • 二手车辆交易网站如何做08wordpress主题
  • 以下属于网站的管理 更新 维护wordpress如何设置文章模板
  • 毕设做网站太简单信息流广告图片
  • 空壳网站主体注销注册域名需要实名认证吗
  • 公司网站制作应该注意些什么wordpress用什么数据库连接
  • 做网站需要注意哪些建设网站 宣传平台
  • 苍南网站开发怎么联系百度推广
  • 可以做图的网站wordpress端口更改
  • 网站视频接口 怎么做嘉兴企业网站制作
  • 在四川省住房和城乡建设厅网站上查哪些网站开发
  • 自建网站免费教程网站域名被注销重新备案怎么做
  • 怎么做网上网站的网站新网站制作公司
  • 国内网站设计经典案例网络推广方法大全
  • 网站负责人信息表大兴安岭做网站
  • 怎么用ftp修改网站图片深圳东门大厦
  • 友汇网站建设安徽网站优化价格咨询
  • 介绍自己的家乡遵义网站建设为一个村做网站
  • 买了网站 怎么做呢灯光设计师培训
  • 网站怎么做微信送红包活动制作企业网站页面的实训报告
  • 做招标代理应关注的网站网络运营培训
  • 网址建站武邑网站建设代理
  • 如何做好企业网站的推广化妆品备案查询入口
  • 做网站的公司都很小吗免费网站免费在线观看