B树

原创 2018-07-23 17:40 阅读(202)次
大规模数据存储中,实现索引查询是在这样一个实际背景下,树单个节点存储的元素数量是有限的(如果元素数量非常多的话,查找就退化成节点内部的线性查找了),这样导致二叉查找树结构由于树的深度过大而造成磁盘I/O读写过于频繁,进而导致查询效率低下(为什么会出现这种情况,因为磁盘的操作费时费资源,如果过于频繁的多次查找势必效率低下,详见磁盘读取数据的原理)。 根据磁盘查找存取的次数往往由树的高度所决定,所以,只要我们通过某种较好的树结构减少树的结构尽量减少树的高度,那么是不是便能有效减少磁盘查找存取的次数呢?那这种有效的树结构是一种怎样的树呢? 在无法减少查询需求(数据量)的情况下,那么如何减少树的深度,...

磁盘读取数据的原理

原创 2018-07-22 12:58 阅读(209)次
数据库的数据一般都是存储在磁盘上,明白磁盘读取数据的原理,才能设计出提高数据库检索速度的设计。 我们知道信息存储在硬盘里,把它拆开也看不见里面有任何东西,只有些盘片。假设,你用显微镜把盘片放大,会看见盘片表面凹凸不平,凸起的地方被磁化,凹的地方是没有被磁化;凸起的地方代表数字1(磁化为1),凹的地方代表数字0。因此硬盘可以以二进制来存储表示文字、图片等信息。 磁盘是一个扁平的圆盘(与电唱机的唱片类似)。磁盘的基本组件可分为以下几部分:磁头,盘片,盘面,磁道,柱面,扇区等。 盘面上有许多称为磁道的圆圈,数据就记录在这些磁道上。磁盘可以是单片的,也可以是由若干盘片组成的盘组。一块硬盘一般有多块盘片...

在centos 6和7下用rpm安装mysql的步骤

原创 2018-02-28 18:34 阅读(110)次
mysql在进入centos7以后被mariadb替代了。但可能一部分人还是"想"(xi guan)用mysql,本文描述了安装mysql的具体步骤和一些特殊问题。 准备好mysql5.6.21.tar。可以在 https://dev.mysql.com/downloads/mysql/ 这里找到。        1.   把tar包上传到服务器上。用tar xvf   xxx.tar的方式解压 我的版本里面会有很多rpm包,但这边必需的只有server和client包。-rw-r--...