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

商丘给企业做网站的公司如何不用百度推广做网站

商丘给企业做网站的公司,如何不用百度推广做网站,网站首页轮播怎么做,网站建站平台广告前言 jion其实是可以使用的 但是一定要选择小表作为驱动表。 到底可不可以用jion?jion如何优化?前言jion的执行过程涉及到两个算法一个是simple nested另一个算法是Black nestedjion语句优化MRR优化如果一个查询,被驱动表很大且都是冷数据&a…

前言

jion其实是可以使用的 但是一定要选择小表作为驱动表。


到底可不可以用jion?jion如何优化?

  • 前言
  • jion的执行过程涉及到两个算法
    • 一个是simple nested
    • 另一个算法是Black nested
  • jion语句优化
  • MRR优化
  • 如果一个查询,被驱动表很大且都是冷数据,那么会导致什么问题呢?

jion的执行过程涉及到两个算法

一个是simple nested

A表有N行,B表有M行
假设是 dbA jion dbB on dbA.a =dbB.a

如果在B表的a字段上有索引,那么执行流程就是,扫描B表,然后扫描B表的索引拿到结果,在索引上找到一个数据基本是log2的
扫描行数为 N+Nlog2的M次方。
因此驱动表越小 效率越高。
如果没有索引的话 就需要M
N次查询了。

另一个算法是Black nested

如果NM 很大。MySQL并不会这么运行,而是使用Black nested 。
执行流程是,先把A表的数据放到jion_buffer中,然后取出B表数据做一一对比。
这个过程在内存中效率会高一些。
如果jion_buffer_size设置大小不够放下A表。就会分多次x对比。这样多等值对比的次数还是N
M
但是需要扫描B表x次。
x与N呈现正相关。
因此总数为N+N的某种正相关*M
因此也是小表做驱动表更快。

jion语句优化

MRR优化

首先理解MRR优化,就是虽然在普通索引上去主键索引上查找的时候是一个一个查询的。

但是如果查询之间是有顺序的,那么也会加快查询,
因此如果在查询之前添加了一个排序,一般主键索引都是单调递增的。

所以排序之后,可以更快的查询。

利用这个思想:jion查询时simple nested 可以将驱动表的结构排序之后,再到被驱动表里查询会加快查询。这种方式称为ack。

那么对于black nested如何优化呢,就是变成ack,通过加索引或者改造sql或者通过业务侧分开查询创建hash来实现。

如果一个查询,被驱动表很大且都是冷数据,那么会导致什么问题呢?

  1. 会有大量io操作,影响性能

  2. 会导致buffer_pool失效,因为如果3/8分区时,jion之后被驱动表可能会在一秒内进行多次扫描,导致冷数据替换掉了3的部分,导致整个缓存命中率下降。

  3. 进行N*M次对比,占用cpu资源。

http://www.dtcms.com/a/429702.html

相关文章:

  • 地方门户网站加盟服装网站建设项目实施报告
  • 做网站咸阳国内服务器租用
  • 苏州市住房和城乡建设局网站学网站开发怎么就业
  • 装修设计灵感网站网站建设维护合同模板
  • 建设监理继续教育网站经典营销案例100例
  • 杭州网站建设源码wordpress评论头像插件
  • 企业网d1net的安全防护邢台短视频优化
  • 微信微博网站建设意见书wordpress 深度优化
  • 免费建个超市网站网站推广优化排名教程
  • 关于网站开发的销售网页生成
  • 网站海外推广多少钱wordpress打造云笔记
  • 网站备案地址查询做门户网站服务器选择
  • 旅游网站前台模板如何做网站建设团队建设
  • 做竞价网站服务器多少钱智慧团建网站登录密码是啥
  • 徐州服饰网站建设建大型网站公司简介
  • 网站公司网站开发小程序代理项目
  • 网站做语音识别网站轮播图片特效
  • 德文网站建设安徽省招标投标信息网
  • Python中docstring用法详解
  • 响应式手机网站制作精准ip地址查询工具
  • 网站建网站建设网页做app网站制作
  • 网站托管主要干点什么亚马逊seo搜索什么意思
  • 哪里有网站制作建设长春网站建设推广
  • 默认网站预览能能显示建设中做网站架构图
  • 建网站是永久的吗桂林北站怎么去阳朔
  • 佛山网站免费制作网站选项卡
  • 北美购物网站排名北京协会网站建设
  • 外贸企业网站策划二维码在线生成制作
  • 网站从服务器上下载文件南宁企业做网站
  • 中山市区做网站公司腾度网站建设