【面试准备】数据库部分

优点:

1、存储过程是预编译过的,执行效率高。

2、存储过程的代码直接存放于数据库中,通过存储过程名直接调用,减少网络通讯。

3、安全性高,执行存储过程需要有一定权限的用户。

4、存储过程可以重复使用,可减少数据库开发人员的工作量。

缺点:

移植性差

5.什么是索引?

索引是对数据库表中一个或多个列的值进行排序的结构。

6.索引的优缺点?

优点:

1、大大加快数据的检索速度;

2、创建唯一性索引,保证数据库表中每一行数据的唯一性;

3、加速表和表之间的连接;

4、在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间。

缺点:

1、减慢了数据录入的速度,同时也增加了数据库的尺寸大小。

2、索引需要占用数据表以外的物理存储空间

3、创建索引和维护索引要花费一定的时间

4、当对表进行更新操作时,索引需要被重建,这样降低了数据的维护速度。

7.什么样的字段适合建索引

唯一、不为空、经常被查询的字段

8.索引类型有哪些?

逻辑上:

Single column 单行索引

Concatenated 多行索引

Unique 唯一索引

NonUnique 非唯一索引

Function-based 函数索引

Domain 域索引

物理上:

Partitioned 分区索引

NonPartitioned 非分区索引

B-tree :

Normal 正常型B树

Rever Key 反转型B树

Bitmap 位图索引

9.游标是什么?

游标:是对查询出来的结果集作为一个单元来有效的处理。游标可以定在该单元中的特定行,从结果集的当前行检索一行或多行。可以对结果集当前行做修改。一般不使用游标,但是需要逐条处理数据的时候,游标显得十分重要。

10.什么叫视图?

视图:是一种虚拟的表,具有和物理表相同的功能。可以对视图进行增,改,查,操作,试图通常是有一个表或者多个表的行或列的子集。对视图的修改会影响基本表。它使得我们获取数据更容易,相比多表查询

11.视图的优缺点

优点:

1、对数据库的访问,因为视图可以有选择性的选取数据库里的一部分。 2、用户通过简单的查询可以从复杂查询中得到结果。

3、维护数据的独立性,试图可从多个表检索数据。

4、对于相同的数据可产生不同的视图。

缺点:

查询视图时,必须把视图的查询转化成对基本表的查询,如果这个视图是由一个复杂的多表查询所定义,那么就无法更改数据。

12.列举几种表连接方式,有什么区别?

内连接、自连接、外连接(左、右、全)、交叉连接 内连接:只有两个元素表相匹配的才能在结果集中显示。 外连接: 左外连接:左边为驱动表,驱动表的数据全部显示,匹配表的不匹配的不会显示。 右外连接:右边为驱动表,驱动表的数据全部显示,匹配表的不匹配的不会显示。 全外连接:连接的表中不匹配的数据全部会显示出来。 交叉连接: 笛卡尔效应,显示的结果是链接表数的乘积。

13.主键和外键的区别?

主键在本表中是唯一的、不可唯空的,外键可以重复可以唯空;外键和另一张表的主键关联,不能创建对应表中不存在的外键。

14.在数据库中查询语句速度很慢,如何优化?

1、建索引

2、减少表之间的关联

3、优化sql,尽量让sql很快定位数据,不要让sql做全表查询,应该走索引,把数据 量大的表排在前面

4、简化查询字段,没用的字段不要,已经对返回结果的控制,尽量返回少量数据

5、尽量用PreparedStatement来查询,不要用Statement

15.数据库的三大范式

第1范式:确保每列的原子性

第2范式:1张表只描述1件事情

第3范式:用外键做表的关联

16.Oracle和Mysql的区别?

1、库函数不同。

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助

因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门**

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 27
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值