用ps怎样做网站文字logo,网站的风格与布局的设计,寮步营销型网站建设价格,邳州建设局网站1.定义#xff1a;B-树是一类树,包括B-树、B树、B*树等,是一棵自平衡的搜索树,它类似普通的平衡二叉树,不同的一点是B-树允许每个节点有更多的子节点.
2.B-数产生的原因 当数据量非常大时#xff0c;内存不够用#xff0c;大部分数据只能存放在磁盘上#xff0c;只有需要的…1.定义B-树是一类树,包括B-树、B树、B*树等,是一棵自平衡的搜索树,它类似普通的平衡二叉树,不同的一点是B-树允许每个节点有更多的子节点.
2.B-数产生的原因 当数据量非常大时内存不够用大部分数据只能存放在磁盘上只有需要的数据才加载到内存中。 一般而言内存访问的时间约为 50 ns纳秒而磁盘在 10 ms 毫秒左右
3.B-树和B树的区别 (1)B树内节点不存储数据所有 data 存储在叶节点导致查询时间复杂度固定为 log(n)。 而B-树查询时间复杂度不固定与 key 在树中的位置有关 最好为O(1)。 (2)B树叶节点两两相连可大大增加区间访问性可使用在范围查询等而B-树每个节点 key 和 data 在一起则无法区间查找。 (3)B树更适合外部存储。由于内节点无 data 域每个节点能索引的范围更大更精确 (4)在数据结构上B树为有序数组平衡多叉树而B树为有序数组链表平衡多叉树
4.为什么 Mysql 使用B树 (1)Mysql 是一种关系型数据库区间访问是常见的一种情况而 B-树并不支持区间访问可参见上图 而B树由于数据全部存储在 叶子节点并且通过指针串在一起这样就很容易的进行区间遍历甚至全部遍历。 (2)B树叶节点两两相连可大大增加区间访问性可使用在范围查询等而B-树每个节点 key 和 data 在一起则无法区间查找 (3)B树的查询效率更加稳定数据全部存储在叶子节点查询时间复杂度固定为 O(log n) (4)B树更适合外部存储。由于内节点无 data 域每个节点能索引的范围更大更精确
5.mysql B-Tree索引使用案例 (1)单列索引使用管理 # 语法
create index index_name on table_name(col_name);
alter table table_name add index index_name(col_name); # 案例
use yzjtestdb;
create index yzjtest_m1_inx_name on yzjtestdb.yzjtest_m1(NAME);
alter table yzjtestdb.yzjtest_m1 add index yzjtest_m1_inx_tel(TEL); # 查看已创建索引
show index from yzjtestdb.yzjtest_m1; # 索引使用
explain select * from yzjtestdb.yzjtest_m1 where name yzjtest30000010;
explain select * from yzjtestdb.yzjtest_m1 where tel 13379855952; # 索引删除
drop index yzjtest_m1_inx_name on yzjtest_m1;
drop index yzjtest_m1_inx_tel on yzjtest_m1;
(2)复合索引使用管理 # 语法
create index index_name on table_name(col_name1,col_name2);;
alter table table_name add index index_name(col_name1,col_name2); # 案例
use yzjtestdb;
create index yzjtest_m1_inx_name_tel on yzjtestdb.yzjtest_m1(NAME,TEL);
alter table yzjtestdb.yzjtest_m1 add index yzjtest_m1_inx_name_tel(NAME,TEL); # 查看已创建索引
show index from yzjtestdb.yzjtest_m1; # 索引使用
explain select * from yzjtestdb.yzjtest_m1 where name yzjtest30000010
and tel 13379855952; # 索引删除
drop index yzjtest_m1_inx_name_tel on yzjtest_m1;