数据库开发面试问题汇总

1.索引有哪些类型?

就不同的算法结构来说,索引有B+树、有序数组、哈希等;
就DDL来说,可为字段创建普通索引、唯一索引、主键索引、全文索引,并可指定索引的算法结构。

2.什么是聚簇索引?

mysql的innodb引擎对应的主键索引类型属于聚簇索引、myisam引擎对应的是非聚簇索引,聚簇索引和非聚簇索引都是采用B+树的算法结构,区别在于叶子节点保存的是数据本身还是数据的实际位置。

3.事务是如何保证数据的准确性的?

通过ACID特性来保证的,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。
原子性:最小执行单位,要么所有操作都成功,要么都失败
一致性:就是业务逻辑的前后一致,比如微信群里发红包,最后群里用户的账户总额都是与初始一致的。
隔离性:根据业务需要和并发程度来选择隔离级别,有四种隔离级别可选,分别是读未提交,读提交,可重复读,窜行化。
持久化:对数据的操作会被持久化到磁盘,不能再回滚。

4.innodb引擎的优缺点?

优点:支持事务,适合大数据量、高并发的业务
缺点:查询数据总量需要逐行扫描,当表里的数据量大时,这个操作会很耗费资源和时间。
(myisam引擎统计全表数据总量会很快,因为总数会自动记录,可以直接获取。但是统计有条件筛选的范围总数则与innodb引擎相似)

5.视图

什么是视图

视图是虚表,只是对查询语句的封装,查询结果随基表的变动而变动,修改视图实际上还是修改基表。

为什么要使用视图

有的时候,我们可能只关系一张数据表中的某些字段,而另外的一些人只关系同一张数据表的某些字段…
那么把全部的字段都都显示给他们看,这是不合理的。
我们应

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值