2024java高频面试-数据库相关
前言:趁着年轻,博主准备在拼一把,看能不能挑个可以干到退休的牛马工位!!!
废话不多说,面试真题赶紧一股脑倒进我的脑袋瓜子里吧!!!
事务四大特性?一尺割圆
原子性:不可分割的操作单元,事务中所有操作,要么全部成功;要么撤回到执行事务之前的状态
一致性:如果在执行事务之前数据库是一致的,那么在执行事务之后数据库也还是一致的;
隔离性:事务操作之间彼此独立和透明互不影响。事务独立运行。这通常使用锁来实现。一个事务处理后的结果,影响了其他事务,那么其他事务会撤回。事务的100%隔离,需要牺牲速度。
持久性:事务一旦提交,其结果就是永久的。即便发生系统故障,也能恢复。
MySQL事务隔离级别?唯一可穿
索引知识
MyISAM引擎使用的B+Tree作为索引结构,它的索引文件和数据文件是分开的,索引文件中叶子节点的data域中仅保存数据记录的地址,查找数据的时候,先到索引文件中查找,如果找到数据的话,那么将对应位置上的data域中存放的地址拿出来,然后到数据文件中查找对应的结果。MyISAM引擎查找数据的流程:假如执行select * from table where col1=49,这条SQL,执行引擎首先查看col1这列是否存在索引,如果存在索引,则从MYI文件中根据树的查找方法找到49所对应的data数据(即实际数据在磁盘上的指针地址信息),然后通过指针地址信息从MYD中找到实际要查找的数据。
更多更全面试题尽在:
https://pan.quark.cn/s/081a3ab7e16b