oracle 了解数据库基础 oracle client

刚转行做Java开发时,连数据库和数据库客户端也不清楚,遭到了嘲讽,自己更是满头大汗。随着慢慢学习意识到“oracle 也不过是一款软件而已,通信协议、软件架构、IO操作,端口监听… … ,跟我开发的软件异曲同工罢了。

cs架构软件

采用客户端-服务端方式,需要下载客户端client和服务端程序,然后采用ip+port+user+pass的形式进行操作数据库,客户端输入不同命令到服务端,服务端解析命令后将结果返回到客户端。这是最简易的使用oracle的情况,然而命令行的界面对客户来说并不够友好而且像导出excel等功能基本实现不了,进而出现了图形化的强大工具如:PLSQL Developer是一款可以帮助用户管理Oracle数据库开发存储程序单元的集成开发环境IDE,个人理解就是用来写sql的工具,是oracle client的扩展

数据库索引查询快的原理

上次面试到一个问题mysql数据库为什么用树形结构查找速度快。当时不太清楚原因,因为mysql用树形结构存储都是刚刚刷题刷的,并没有了解那么多。后来在学习hashMap时候再次遇到树形结构,而且是brtree红黑树,突然想起了面试问题,又查询了些资料,mysql数据库的树形结构也是一棵平衡树,采用的是B+树做索引(B-树、B+树、红黑树,都是平衡查找树,那么查询效率上讲,平均都是O(logn)),AVL 树(平衡二叉树)和红黑树(二叉查找树)基本都是存储在内存中才会使用的数据结构,在大规模数据存储的时候,红黑树往往出现由于树的深度过大而造成磁盘IO读写过于频繁,进而导致效率低下的情况
B-树/B+树 的特点就是每层节点数目非常多,层数很少,目的就是为了减少磁盘IO次数并且B+树有如下优点:
一: B+树只有叶节点存放数据,其余节点用来索引,而B-树是每个索引节点都会有Data域。

二: B+树所有的Data域在叶子节点,并且所有叶子节点之间都有一个链指针。 这样遍历叶子节点就能获得全部数据,这样就能进行区间访问啦。在数据库中基于范围的查询是非常频繁的,而B树不支持这样的遍历操作。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值