400 028 6601

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

必须掌握的数据库面试题有哪些

本篇内容介绍了“必须掌握的数据库面试题有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

成都创新互联公司服务项目包括邵武网站建设、邵武网站制作、邵武网页制作以及邵武网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,邵武网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到邵武省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

一、为什么使用数据索引能提高效率

二、B+树索引和哈希索引的区别

B+树是一个平衡的多叉树,从根节点到每个叶子节点的高度差值不超过1,而且同层级的节点间有指针相互链接,是有序的,如下图:

必须掌握的数据库面试题有哪些

哈希索引就是采用一定的哈希算法,把键值换算成新的哈希值,检索时不需要类似B+树那样从根节点到叶子节点逐级查找,只需一次哈希算法即可,是无序的,如下图所示:

必须掌握的数据库面试题有哪些

三、哈希索引的优势:

等值查询,哈希索引具有绝对优势(前提是:没有大量重复键值,如果大量重复键值时,哈希索引的效率很低,因为存在所谓的哈希碰撞问题。

四、哈希索引不适用的场景:

五、什么是表分区?

表分区,是指根据一定规则,将数据库中的一张表分解成多个更小的,容易管理的部分。从逻辑上看,只有一张表,但是底层却是由多个物理分区组成

六、表分区与分表的区别?

分表:指的是通过一定规则, 将一张表分解成多 张不同的表。比如将用户订单记录根据时间成多个表。

分表与分区的区别在于:分区从逻辑上来讲只有一张表 ,而分表则是将一张表分解成多张表。

七、表分区有什么好处?

  1. 鸿蒙官方战略合作共建——HarmonyOS技术社区

  2. 存储更多数据。分区表的数据可以分布在不同的物理设备上,从而高效地利用多个硬件设备。和单个磁盘或者文件系统相比,可以存储更多数据

  3. 优化E询。在where语句中包含分区条件时,可以只扫描一个或多  个分区表来提高查询效率;涉及sum和count语句时,也可以在多个分区上并行处理,最后汇总结果。

  4. 分区表更容易维护。例如:想批量删除大量数据可以清除整个分区。

  5. 避免某些特殊的瓶颈,例如InnoDB的单个索引的互斥访问, ext3问价你系统的inode锁竞争等。

八、在MVCC并发控制中,读操作可以分成两类:

快照读(snapshot read):读取的是记录的可见版本(有可能是历史版本),不用加锁(共享读锁s锁也不加,所以不会阻塞其他事务的写)

当前读(currentread):读取的是记录的最新版本,并且,当前读返回的记录,都会加上锁,保证其他事务不会再并发修改这条记录

九、行级锁定的优点:

  1. 鸿蒙官方战略合作共建——HarmonyOS技术社区

  2. 当在许多线程中访问不同的行时只存在少量锁定冲突。

  3. 回滚时只有少量的更改

  4. 可以长时间锁定单一的行。

十、行级锁定的缺点:

比页级或表级锁定占用更多的内存。当在表的大部分中使用时,比页级或表级锁定速度慢,因为你必须获取更多的锁。 如果你在大部分数据上经常进行GROUP  BY操作或者必须经常扫描整个表,比其它锁定明显慢很多。 用高级别锁定,通过支持不同的类型锁定,你也可以很容易地调节应用程序,因为其锁成本小于行级锁定。

十一、MySQL优化

prepared statements获得很多好处,无论是性能问题还是安全问题。

Prepared Statements可以检查一些你绑定好的变量,这样可以保护你的程序不会受到“SQL注入式” 攻击

十二、key和index的区别

key是数据库的物理结构,它包含两层意义和作用,一是约束(偏 重于约束和规范数据库的结构完整性) ,二是索引(辅助查询 用的)。包括primary  key, unique key, foreign key等

index是数据库的物理结构,它只是辅助查询的,它创建时会在另外的表空间(mysql中的innodb表空间) 以-个类似目录的结  构存储。索引要分类的话,分为前缀索引、全文本索引等;

十三、Mysql 中MyISAM和InnoDB的区别有哪些?

  1. 鸿蒙官方战略合作共建——HarmonyOS技术社区

  2. InnoDB支持事务, MyISAM不支持

  3. InnoDB支持外键,而MylSAM不支持。对一个包含外键的InnoDB表转为MYISAM会失败;

  4. InnoDB是聚集索引,数据文件是和索引绑在一起,必须要有主键,通过主键索引效率高。

  5. InnoDB不保存 表的具体行数,执行select count(*) from table时需要全表扫描。

  6. Innodb不支持全文索引,而MyISAM支持全文索引,查询效率上MyISAM要高;

十四、数据库表创建注意事项

1、字段名及字段配制合理性

2、系统特殊字段处理及建成后建议

3、表结构合理性配置

4、其它建议

“必须掌握的数据库面试题有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


分享名称:必须掌握的数据库面试题有哪些
分享地址:http://www.bluegullmedia.com/article/ggjpid.html

其他资讯

让你的专属顾问为你服务

0.2385s