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

什么网站可以做软件有哪些内容什么是优化

什么网站可以做软件有哪些内容,什么是优化,营销型网站报价明细,浙江省建设工程信息网官网mysql索引-自学版 1 索引语法2 索引类别3 索引原理磁盘IO与预读索引数据结构 B树B树的前生今世B 树代码(进阶) 4 索引使用策略及优化优化索引的几种方法 索引常见面试题面经实战 1 索引语法 索引的语法:创建、修改、增加、删除等操作&#x…

mysql索引-自学版

  • 1 索引语法
  • 2 索引类别
  • 3 索引原理
    • 磁盘IO与预读
    • 索引数据结构 B+树
      • B+树的前生今世
      • B+ 树代码(进阶)
  • 4 索引使用策略及优化
    • 优化索引的几种方法
  • 索引常见面试题
    • 面经实战

1 索引语法

索引的语法:创建、修改、增加、删除等操作,查询此链接:
菜鸟教程-MySQL 索引
or
Mysql索引(一篇就够le)

2 索引类别

mysql使用较多的存储引擎:InnoDB、MyISAM等,其中InnoDB支持的索引是B+树索引、Hash索引、全文索引,MyISAM使用的是Hash索引。
有关 mysql 所有的索引类型参考官网:
官网

我们可以按照四个角度来分类索引。

按「数据结构」分类:B+tree索引、Hash索引、Full-text索引。
按「物理存储」分类:聚簇索引(主键索引)、二级索引(辅助索引)。
按「字段特性」分类:主键索引、唯一索引、普通索引、前缀索引。
按「字段个数」分类:单列索引、联合索引。

3 索引原理

以下内容(磁盘IO与预读、索引数据结构 B+树、索引使用策略及优化)学自此文章的前半部分内容:
MySQL索引原理及慢查询优化

数据库数据保存在磁盘上,且为了提高性能,每次只将部分数据读入内存,众所周知,访问磁盘的成本是访问内存的十万倍左右,因此,我们需要一种高效的搜索方式。

磁盘IO与预读

为什么访问磁盘的成本很高?访问磁盘的操作有哪几步?它们所用的时间?
考虑到磁盘IO是非常高昂的操作,操作系统做了哪些优化?

索引数据结构 B+树

根据磁盘IO的特点,我们的诉求:每次查找数据时将磁盘的IO次数控制在很小的数量级,最好是常数数量级,于是 B+ 树应运而生。

B+树的前生今世

想要介绍 B+ 树,就不得不提起二叉查找/排序树(BST)、平衡二叉树(AVL) 和 B 树这三种数据结构。B+ 树就是从它们三个演化而来的。见此文章。
二叉树、平衡二叉树、B-Tree、B+Tree 说明

此文章也讲了一系列树的演变,并且还讲解了B树的结点定义、插入、删除等的过程,以及R树,可补充看:
从B树、B+树、B*树谈到R 树

B+ 树代码(进阶)

B+树重要性不用多说,一起来研究B+树的源码

4 索引使用策略及优化

创建索引的几大原则:
1.最左前缀匹配原则,非常重要的原则,mysql会一直向右匹配直到遇到范围查询(>、<、between、like)就停止匹配,比如a = 1 and b = 2 and c > 3 and d = 4 如果建立(a,b,c,d)顺序的索引,d是用不到索引的,如果建立(a,b,d,c)的索引则都可以用到,a,b,d的顺序可以任意调整。

2.=和in可以乱序,比如a = 1 and b = 2 and c = 3 建立(a,b,c)索引可以任意顺序,mysql的查询优化器会帮你优化成索引可以识别的形式。

3.尽量选择区分度高的列作为索引,区分度的公式是count(distinct col)/count(*),表示字段不重复的比例,比例越大我们扫描的记录数越少,唯一键的区分度是1,而一些状态、性别字段可能在大数据面前区分度就是0,那可能有人会问,这个比例有什么经验值吗?使用场景不同,这个值也很难确定,一般需要join的字段我们都要求是0.1以上,即平均1条扫描10条记录。

4.索引列不能参与计算,保持列“干净”,比如from_unixtime(create_time) = ’2014-05-29’就不能使用到索引,原因很简单,b+树中存的都是数据表中的字段值,但进行检索时,需要把所有元素都应用函数才能比较,显然成本太大。所以语句应该写成create_time = unix_timestamp(’2014-05-29’)。

5.尽量的扩展索引,不要新建索引。比如表中已经有a的索引,现在要加(a,b)的索引,那么只需要修改原来的索引即可。

优化索引的几种方法

源自:优化索引的几种方法

  1. 前缀索引优化;
  2. 覆盖索引优化;
  3. 主键索引最好是自增的;
  4. 防止索引失效;

索引常见面试题

来自 索引常见面试题

  1. 什么是索引?
  2. 索引的分类?(从四个角度进行分类)
  3. B+树索引原理?查找过程?
  4. 为什么 MySQL InnoDB 选择 B+tree 作为索引的数据结构?(B+树的优势)
  5. 联合索引?
  6. 什么时候需要 / 不需要创建索引?
  7. etc.

面经实战

  1. MySQL的 InnoDB 索引数据结构
  2. mysql中 inoodb 的索引有哪些种类
  3. B+树索引具体是怎么实现的
  4. B树与B+树的区别
  5. 为什么B+树的中间节点不储存数据?
  6. 给一个索引,在有的查询过程中他没有走索引查询,说说你能想到的原因
  7. 聚簇索引、非聚簇索引
  8. 聚簇索引比非聚簇索引的优点
http://www.15wanjia.com/news/37019.html

相关文章:

  • 镇江做网站品牌推广策划营销策划
  • 工业风格装修效果图宁波seo外包优化
  • 网站建设主管百度网站名称和网址
  • 电子商务企业网站建设计划书网络营销策划包括哪些内容
  • 如何在腾讯云上建设网站东营优化公司
  • 淮南建设局网站备案合肥百度推广排名优化
  • 子域名 做单独的网站百度广告推广平台
  • 淄博张店网站建设天津网站建设公司
  • cms网站怎么做南宁seo咨询
  • 域名和网站备案一样吗郑州网站优化哪家好
  • 电子商务网站建设服务网络推广渠道公司
  • 杰商网站建设外贸seo是什么意思
  • 做图软件ps下载网站有哪些内容免费企业建站
  • java做网站快不快百度一下首页登录
  • 南宁手机网站制作seo1现在怎么看不了
  • app开发导入网站模板营销活动方案模板
  • wordpress无法安装seo营销专员
  • 无锡网站建设哪家专业免费发帖论坛大全
  • 网站建设与网络编辑课程心得免费软文推广平台都有哪些
  • 怎样建立免费的个人网站百度seo推广价格
  • 怎么做app和网站购物网络推广专家
  • excel做网站百度百家号官网
  • 网站建设一条龙全包seo志鸿优化网官网
  • 公司中英文网站建设新郑网络推广
  • php和java做网站百度网盘网页版登录入口官网
  • 阿里巴巴网站头像你会放什么做头像百度网址大全免费下载
  • 做jsp网站的步骤搜索引擎优化的基本手段
  • 楚雄州州纪网站党风廉政建设最新营销模式
  • 广东省城乡住房建设厅网站首页电商推广平台有哪些
  • wordpress分类发布文章免费优化网站