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

云南建设银行官方网站宁夏城乡建设厅网站

云南建设银行官方网站,宁夏城乡建设厅网站,网站建设所要花费的资金,网站做多大尺寸一、索引介绍 索引是什么 官方介绍索引是帮助MySQL高效获取数据的数据结构。更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。 一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往是存储在磁盘…

一、索引介绍

索引是什么

官方介绍索引是帮助MySQL高效获取数据的数据结构。更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。

一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往是存储在磁盘上的文件中的(可能存储在单独的索引文件中,也可能和数据一起存储在数据文件中)。

我们通常所说的索引,包括聚集索引、覆盖索引、组合索引、前缀索引、唯一索引等,没有特别说明,默认都是使用B+树结构组织(多路搜索树,并不一定是二叉的)的索引。

索引的优势和劣势

优势:可以提高数据检索的效率,降低数据库的IO成本,类似于书的目录。

通过索引列对数据进行排序,降低数据排序的成本,降低了CPU的消耗。

被索引的列会自动进行排序,包括【单列索引】和【组合索引】,只是组合索引的排序要复杂一些。

如果按照索引列的顺序进行排序,对应order by语句来说,效率就会提高很多。

劣势:索引会占据磁盘空间

索引虽然会提高查询效率,但是会降低更新表的效率。比如每次对表进行增删改操作,MySQL不仅要保存数据,还有保存或者更新对应的索引文件。

二、索引类型

主键索引:索引列中的值必须是唯一的,不允许有空值。

普通索引:MySQL中基本索引类型,没有什么限制,允许在定义索引的列中插入重复值和空值。

唯一索引:索引列中的值必须是唯一的,但是允许为空值。

全文索引:只能在文本类型CHAR,VARCHAR,TEXT类型字段上创建全文索引。字段长度比较大时,如果创建普通索引,在进行like模糊查询时效率比较低,这时可以创建全文索引。 MyISAM和InnoDB中都可以使用全文索引。

空间索引:MySQL在5.7之后的版本支持了空间索引,而且支持OpenGIS几何数据模型。MySQL在空间索引这方面遵循OpenGIS几何数据模型规则。

前缀索引:在文本类型如CHAR,VARCHAR,TEXT类列上创建索引时,可以指定索引列的长度,但是数值类型不能指定。

其他(按照索引列数量分类)单列索引、组合索引

组合索引的使用,需要遵循最左前缀匹配原则(最左匹配原则)。一般情况下在条件允许的情况下使用组合索引替代多个单列索引使用。

索引的数据结构

三、Hash

Hash表,在Java中的HashMap,TreeMap就是Hash表结构,以键值对的方式存储数据。我们使用Hash表存储表数据Key可以存储索引列,Value可以存储行记录或者行磁盘地址。Hash表在等值查询时效率很高,时间复杂度为O(1);但是不支持范围快速查找,范围查找时还是只能通过扫描全表方式。

显然这种并不适合作为经常需要查找和范围查找的数据库索引使用。

四、二叉查找树

二叉树,我想大家都会在心里有个图。

二叉树特点:每个节点最多有2个分叉,左子树和右子树数据顺序左小右大。

这个特点就是为了保证每次查找都可以这折半而减少IO次数,但是二叉树就很考验第一个根节点的取值,因为很容易在这个特点下出现我们并发想发生的情况“树不分叉了”,这就很难受很不稳定。

显然这种情况不稳定的我们再选择设计上必然会避免这种情况的

平衡二叉树

平衡二叉树是采用二分法思维,平衡二叉查找树除了具备二叉树的特点,最主要的特征是树的左右两个子树的层级最多相差1。在插入删除数据时通过左旋/右旋操作保持二叉树的平衡,不会出现左子树很高、右子树很矮的情况。

使用平衡二叉查找树查询的性能接近于二分查找法,时间复杂度是 O(log2n)。查询id=6,只需要两次IO。

就这个特点来看,可能各位会觉得这就很好,可以达到二叉树的理想的情况了。然而依然存在一些问题:

时间复杂度和树高相关。树有多高就需要检索多少次,每个节点的读取,都对应一次磁盘 IO 操作。树的高度就等于每次查询数据时磁盘 IO 操作的次数。磁盘每次寻道时间为10ms,在表数据量大时,查询性能就会很差。(1百万的数据量,log2n约等于20次磁盘IO,时间20*10=0.2s)

平衡二叉树不支持范围查询快速查找,范围查询时需要从根节点多次遍历,查询效率不高。

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

相关文章:

  • 可直接打开网站的网页wordpress高级应用
  • 网站设计经典案例分析移动建站价格
  • 宝坻建设路小学网站领星erp系统
  • 码云pages做静态网站首钢水钢赛德建设有限公司网站
  • 如何做网站呢wordpress 推送
  • 设计感十足的网站在哪些网站能接到活做
  • 公司做彩票网站违法吗优化关键词的正确方法
  • 谈谈网站的开发流程品牌商标购买网站
  • 百度如何才能搜到你的网站最专业网站建设
  • 网站制作方案怎么做移动应用与开发是干什么的
  • 网站服务费网络建设会计分录黄冈建设信息网站
  • 营销型网站的分类怎么做网站的seo优化
  • 东莞建材网站建设开发一款小程序需要多少钱
  • 电子商务网站建设教学实施建设网站开发工程师的证件
  • 重庆市建设工程信息网怎么查询不到安全管理证书北京优化推广
  • 怎样把自己做的网站上传重庆公司网站建设
  • 动漫设计与制作专业课程广州网站运营专业乐云seo
  • 网站首页做一点开有动画品牌网站建设企业
  • 新手做网站最简单流程广州统一企业官网建设
  • 那个网站做玉石最专业做技术网站赚钱吗
  • 德州金航网络公司网站建设wordpress更改后台域名后无法访问
  • 信息网站推广Wordpress个人套餐
  • 微信做网站网站空间设计图片
  • 网站制作的预算天津网站建设网站排名优化
  • 网站做联盟还赚钱吗长沙有什么好玩的水上乐园
  • 做网站 套模板 后端婚恋咨询网站运营
  • 邯郸网站制作与建设cms内容管理系统是什么
  • 制作网站背景怎么做新手自学网站
  • 铁岭网络推广网站建设网站背景素材
  • 承德网站商城开发企业