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

网站建设+临沂怎么在百度上做广告

网站建设+临沂,怎么在百度上做广告,辽宁省建设局网站,江门专业制作网站文章目录索引排序和文件排序介绍:文件排序出现的几种情况:索引排序和文件排序介绍: 当对sql进行order by排序的时候,需要尽可能的使用索引排序,如果无法使用索引排序的话,mysql就会使用文件排序。 文件排…

文章目录

    • 索引排序和文件排序介绍:
    • 文件排序出现的几种情况:

索引排序和文件排序介绍:

当对sql进行order by排序的时候,需要尽可能的使用索引排序,如果无法使用索引排序的话,mysql就会使用文件排序。

文件排序出现的几种情况:

  • order by 字段不是索引字段
  • order by 字段是索引字段,但是 select 中没有使用覆盖索引,如:select * from staffs order by age asc;
  • order by 中同时存在 ASC 升序排序和 DESC 降序排序,如:select a, b from staffs order by a desc, b asc;
  • order by 多个字段排序时,不是按照索引顺序进行 order by,即不是按照最左前缀法则,如:select a, b from staffs order by b asc, a asc;

文件排序(FileSort)分为两种:

  • 双路排序(又叫回表排序模式):先根据相应的条件取出相应的排序字段和可以直接定位行 数据的行 ID,然后在 sort buffer 中进行排序,排序完后需要再次取回其它需要的字段;
  • 单路排序:是一次性取出满足条件行的所有字段,然后在sort buffer中进行排序;

举个例子,下面有一段sql:

select * from user where name = "自由的辣条" order by age

双路排序过程:
MySQL 4.1 之前使用的双路排序,通过两次扫描磁盘得到数据。读取主键id 和 order by 列并对其进行排序,扫描排序好的列表,按照列表中的值重新从列表中读取对应的数据输出。

  1. 从索引 name 找到第一个满足 name = ‘自由的辣条’ 的主键id
  2. 根据主键 id 取出整行,把排序字段 age 和主键 id 这两个字段放到 sort buffer(排序缓存) 中
  3. 从索引 name 取下一个满足 name = ‘自由的辣条’ 记录的主键 id
  4. 重复 3、4 直到不满足 name = ‘自由的辣条’
  5. 对 sort_buffer 中的字段 age 和主键 id 按照字段 age进行排序
  6. 遍历排序好的 id 和字段 age ,按照 id 的值回到原表中取出 所有字段的值返回给客户端

单路排序过程:

  1. 从索引name找到第一个满足 name = ‘自由的辣条’ 条件的主键 id
  2. 根据主键 id 取出整行,取出所有字段的值,存入 sort_buffer(排序缓存)中
  3. 从索引name找到下一个满足 name = ‘自由的辣条’ 条件的主键 id
  4. 重复步骤 2、3 直到不满足 name = ‘自由的辣条’
  5. 对 sort_buffer 中的数据按照字段 age 进行排序
  6. 返回结果给客户端

从磁盘中读取查询需要的所有列,按照 order by 列在 sort_buffer(排序缓存) 缓冲区对他们进行排序,然后扫描排序后的列表输出。因为单路排序效率更快,避免了二次读取数据,把随机IO变成了顺序IO,但是会使用更多的空间。

对比:
其实对比两个排序模式,单路排序会把所有需要查询的字段都放到 sort buffer 中,而双路排序只会把主键 和需要排序的字段放到 sort buffer 中进行排序,然后再通过主键回到原表查询需要的字段。

选型:
至于mysql优化器使用双路排序还是单路排序是有自己的算法判断的,如果查询的列字段大于max_length_for_sort_data变量,则会使用双路排序,反之则会使用单路排序,单路排序速度是更快的,不过比较占据内存,如果在内存空间允许的情况下想要使用单路排序的话,可以增加max_length_for_sort_data变量的大小,max_length_for_sort_data变量默认为1024字节

max_length_for_sort_data指某个表的所有列长度总和

注意:
如果全部使用sort_buffer内存排序一般情况下效率会高于磁盘文件排序,但不能因为这个就随便增 大sort_buffer(默认1M),mysql很多参数设置都是做过优化的,不要轻易调整。

order by关键字优化:

  1. ORDER BY子句,尽量使用Index方式排序,避免使用FileSort方式排序。
  2. MySQL支持二种方式的排序,FileSort和Index,Index效率较高,FileSort方式效率较低。
  3. 尽可能在索引列上完成排序操作,遵照索引建的最佳左前缀

参考:
添加链接描述

http://www.lbrq.cn/news/2761579.html

相关文章:

  • 深圳西乡 网站建设品牌整合营销
  • 视频类网站建设的成果深圳搜索引擎优化推广便宜
  • 网站改版中百度认证是什么
  • 个人网站限制网址缩短
  • wordpress php那个版本号seo排名的影响因素有哪些
  • 万江营销型网站建设站长工具网站备案查询
  • 云南域名注册网站建设网络宣传渠道有哪些
  • 网站主办者冲突 请核实后再次报备关键词百度网盘
  • 站长之家查询的网址网络seo优化推广
  • 如何给一个公司做网站网络营销有什么方式
  • 连云港网站建设多少钱合肥百度快速排名优化
  • 珠海微网站制作怎么做个人网页
  • 建网站需要服务器吗免费域名注册平台有哪些
  • 深圳网站制作的网站推广方案策划
  • 知名的网站制作公司需要多少钱成全视频免费观看在线看
  • 福州网站制作2022双11各大电商平台销售数据
  • 网站建设期间工作福州seo优化排名推广
  • 用xp做网站是否先搭建iis网络运营师
  • 2023年山西有疫情吗网站标题优化排名
  • 给公司做一个网站流程免费推广产品的平台
  • 陕西西乡网站建设网页代码模板
  • 网站的电子地图怎么做推广平台排名前十名
  • c 网站开发 环境配置大白兔网络营销策划书
  • 做网站还是做淘宝如何联系百度人工客服电话
  • 无锡市住房建设局网站网上企业推广
  • 西安北郊网站开发网站推广包括
  • 国外个人网站模板站长工具查询域名
  • 做知乎网站的图片2023最火的十大新闻
  • 最新网站建设常见问题环球网
  • html5网站免费开发软件制作平台
  • 视觉语言导航(2)——VLN RNN TRANSFORMER 与ATTENTION 2.2+LSTM(单独一节)
  • Linux内存管理系统性总结
  • 机器学习的多种算法
  • 【Linux指南】gcc/g++编译器:从源码到可执行文件的全流程解析
  • 脉冲计数实现
  • MXFP4量化:如何在80GB GPU上运行1200亿参数的GPT-OSS模型