java--数据库篇

1.事务四大特性

相关链接
(https://blog.csdn.net/cr_lzy/article/details/94992490)
1.原子性,要么执行,要么不执行

2.隔离性,所有操作全部执行完以前其他会话不能看到过程

3.一致性,事物前后,数据总额一致

4.持久性,一旦事物提交,对数据的改变是永久的

2.数据库隔离级别

多个事务读可能会出现以下问题
1.脏读:事务B读取事务A还没有提交的数据
2.不可重复读:,一行被检索两次,并且该行中的值在不同的读取之间不同时
3.幻读:当在事务处理过程中执行两个相同的查询,并且第二个查询返回的行集合与第一个查询不同时
这两个区别在于,不可重复读重点在一行,幻读的重点 ,返回 的集合不一样

3.MYSQL的两种存储引擎区别(事务、锁级别等等),各自的适用场景

相关链接

4.索引有B+索引和hash索引

相关链接

5.聚集索引和非聚集索引

相关链接

6.索引的优缺点,什么时候使用索引,什么时候不能使用索引

1.索引最大的好吃是提高查询速度

2.缺点是更新数据时效率低,因为要同时更新索引

3.对数据进行频繁查询建议用索引,如果频繁更改数据不建议使用索引

7.InnoDB索引和MyISAM索引的区别

相关链接

8.索引的底层实现(B+树,为何不采用红黑树,B树)重点

区别
红黑树增加,删除,红黑树会进行频繁的调整,来保证红黑树的性质,浪费时间
B树也就是B-树B树,查询性能不稳定
B+树B+树相对于另外两种树,显得更矮更宽,查询层次更浅

9.B+树的实现

相关链接

10.为什么使用B+Tree

索引查找过程中就要产生磁盘I/O消耗,主要看IO次数,和磁盘存取原理有关。
根据B-Tree的定义,可知检索一次最多需要访问h个节点。数据库系统的设计者巧妙利用了磁盘预读原理,
将一个节点的大小设为等于一个页,这样每个节点只需要一次I/O就可以完全载入
局部性原理与磁盘预读

11.Sql的优化

sql尽量使用索引,而且查询要走索引
子查询变成left join
limit 分布优化,先利用ID定位,再分页
or条件优化,多个or条件可以用union all对结果进行合并(union all结果可能重复)
不必要的排序
where代替having,having 检索完所有记录,才进行过滤
避免嵌套查询
对多个字段进行等值查询时,联合索引

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值