1)B+Tree和BTree不是一个概念,大多数 MySQL 存储引擎的默认索引类型是BTree
B树 即二叉搜索树:
1.所有非叶子结点至多拥有两个儿子(Left和Right);
2.所有结点存储一个关键字;
3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树;
如:
B+树 B+树是B-树的变体,也是一种多路搜索树:
1.其定义基本与B-树同,除了:
2.非叶子结点的子树指针与关键字个数相同;
3.非叶子结点的子树指针P[i],指向关键字值属于[K[i], K[i+1])的子树(B-树是开区间);
5.为所有叶子结点增加一个链指针;
6.所有关键字都在叶子结点出现;
如:(M=3)
2) 哈希索引(hash index)基于哈希表实现,只有精确匹配索引所有列的査询才有效,在My SQL中,只有Memory引擎显式支持哈希索引。这也是Memory引擎表的默认索 引类型,Memory引擎同时也支持B-Tree索引。
3)因为索引自身只需存储对应的哈希值,所以索引的结构十分紧凑,这也让哈希索引査找的速度非常快。然而,哈希索引也有它的限制:
哈希索引只包含哈希值和行指针,而不存储字段值,所以不能使用索引中的值来避 免读取行。
4)MyISAM为MySQL5.5之前版本默认存储引擎。(这里我也不是很明白,也没找到好的资料解释)
数据类型和方法在MyISAM,InnoDB,NDB, andARCHIVE中可用。至于空间索引,MyISAMandInnoDB支持空间和非空间索引,其他引擎支持非空间索引。
geographic feature(地理特性)是指世界上的所有东西都有一个location(位置)。这个特性可以是:
一个实体,例如一座山,一个池塘,一个城市 An entity. For example, a mountain, a pond, a city.
一个空间,例如城区,热带地区A space. For example, town district, the tropics.
一个确定的位置。例如一个特定两条街交叉的十字路口A definable location. For example, a crossroad, as a particular place where two streets intersect.
地理定义为一个点point,或者由点聚合起来表示的任意东西的位置。
5)不懂,主要是空间索引的概念不懂。
6)
1、索引的定义
索引是一个单独的、物理的数据库结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。
简单地说,索引是对数据库表中一列或多列的值进行排序的一种结构。
2、索引的优缺点
优点:
1.大大加快数据的检索速度,这也是创建索引的最主要的原因;
2.可以创建唯一性索引,保证数据库表中每一行数据的唯一性;
3.可以将表的外键制作为索引,加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义;
4.将随机I/O变为顺序I/O,帮助服务器避免排序和临时表,在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间;
5.通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。
缺点:
1.创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加;
2.索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间;
3.当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。
一般做类似的题目时,通过确定的知识点结合选项选择。