2021数据库考试题及答案 mysql题目和详细答案(14)


两者的对?是否?持?级锁MyISAM 只有表级锁(table-level locking),?InnoDB ?持?级锁(rowlevel locking)和表级锁,默认为?级锁 。是否?持事务和崩溃后的安全恢复MyISAM 强调的是性能,每次查询具有原?性,其执?速度?InnoDB类型更快,但是不提供事务?持 。但是InnoDB 提供事务?持事务,外部键等?级数据库功能 。具有事务(commit)、回滚(rollback)和崩溃修复能?(crash recovery capabilities)的事务安全(transaction-safe (ACID compliant))型表 。是否?持外键MyISAM不?持,?InnoDB?持 。是否?持MVCC仅 InnoDB ?持 。应对?并发事务, MVCC?单纯的加锁更?效;MVCC只在READ COMMITTED 和 REPEATABLE READ 两个隔离级别下?作;MVCC可以使? 乐观(optimistic)锁 和 悲观(pessimistic)锁来实现;各数据库中MVCC实现并不统? 。一般情况下我们选择 InnoDB 都是没有问题的,但是某些情况下你并不在乎可扩展能?和并发能?,也不需要事务?持,也不在乎崩溃后的安全恢复问题的话,选择MyISAM也是?个不错的选择 。但是?般情况下,我们都是需要考虑到这些问题的 。
不要轻易相信“MyISAM?InnoDB快”之类的经验之谈,这个结论往往不是绝对的 。在很多我们已知场景中,InnoDB的速度都可以让MyISAM望尘莫及,尤其是?到了聚簇索引,或者需要访问的数据都可以放?内存的应? 。
39.数据库三范式是什么?第一范式(1NF)数据表中的每一列(字段),必须是不可拆分的最小单元,也就是确保每一列的原子性 。所有关系型数据库系统都满足第一范式数据库表中的字段都是单一属性的,不可再分 。两列的属性相近或相似或一样,尽量合并属性一样的列,确保不产生冗余数据 。第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF) 。要求数据库表中的每行必须可以被惟一地区分,即一行数据只做一件事 。只要数据列中出现数据重复,就要把表拆分开来 。通常需要为表加上一个列,以存储各个实例的惟一标识 。这个惟一属性列被称为主关键字或主键 。第三范式(3N)满足第三范式(3NF)必须先满足第二范式(2NF) 。要求一个数据库表中不包含已在其它表中已包含的非主关键字信息,即数据不能存在传递关系,。像:a–>b–>c 列之间含有这样的关系,是不符合第三范式的 。特征:每一列只有一个值,每一行都能区分,每一个表都不包含其他表已经包含的非主关键字信息 。设计思考三大范式只是一般设计数据库的基本理念,可以建立冗余较小、结构合理的数据库 。如果有特殊情况,当然要特殊对待,数据库设计最重要的是看需求跟性能,需求>性能>表结构 。所以不能一味的去追求范式建立数据库表 。40.hash索引和b+tree索引底层是怎么实现的(实现原理),有什么不一样?hash索引实现把索引的值做hash运算,并存放到hash表中,进行查找时,调用一次hash函数就可以获取到相应的键值,之后进行回表查询获得实际数据 。使用较少,一般是memory引擎使用 。。hash索引的优点因为使用hash表存储,按照常理,hash的性能比b+tree效率高很多 。hash索引的缺点 。hash索引只能适用于精确的值比较,=,in,或者<>;无法使用范围查询 。无法使用索引排序;组合hash索引无法使用部分索引;如果大量索引hash值相同,性能较低;b+tree索引实现底层是多路平衡查找树 。对于每一次的查询都是从根节点出发,查找到叶子节点方可获的所查键值,然后根据查询判断是否需要回表查询数据 。innodb使用b+tree索引 。innodb中,存在两种索引类型- 主键索引(primary key),在索引内容中直接保存数据的地址 。- 其他索引,在索引内容中保存的是指向主键索引的引用 。所以在使用innodb的时候,要尽量的使用主键索引,速度非常快 。


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: