常见的数据库基础试题及答案汇总

发布时间:2020-04-28 14:57:05 作者:小新
来源:亿速云 阅读:1679

常见的数据库基础试题及答案有哪些呢?这应该是很多人都比较关心的问题,下面是小编继续整理的关于常见的数据库基础试题及答案汇总,大家一起往下看吧!

常见的数据库基础试题及答案汇总

一、库索引
数据库索引,是数据库管理系统中一个排序的数据结构,以协助 快速查询、更新数据库表中数据。索引的实现 通常使用 B_TREE。
B_TREE 索引加速了数据访问,因为存储引擎不会再去扫描整张表得到需要的数据;相反,它 从根节点开始,根节点保存了子节点的指针,存储引擎会根据指针快速寻找数据。

二、数据库怎么优化查询效率?

1、储存引擎选择:如果数据表需要事务处理,应该考虑使用 InnoDB, 因为它完全符合 ACID 特性。如果不需 要事务处理,使用默认存储引擎 MyISAM 是比较明智的

2、分表分库,主从。

3、对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及order by 涉及的列上建立索引

4、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描

5、应尽量避免在 where ?子句中使用!= ?或<> 操作符,否则将引擎放弃使用索引而进行全表扫描

6、应尽量避免在 where 子句中使用 or 来连接条件,如果一个字段有索引,一个字段没有索引,将导致引擎 放弃使用索引而进行全表扫描

7、Update 语句,如果只更改 1、2 个字段,不要 Update 全部字段, 否则频繁调用会引起明显的性能消耗, 同时带来大量日志

8、对于多张大数据量(这里几百条就算大了)的表 JOIN,要先分页再 JOIN,否则逻辑读会很高,性能很差。

三、你用的 Mysql 是哪个引擎,各引擎之间有什么区别?

主要 MyISAM 与 InnoDB 两个引擎,其主要区别如下:InnoDB 支持事务,MyISAM 不支持,这一点是非常 之重要。事务是一种高级的处理方式,如在一些列增删改中只要哪个出错还可以回滚还原,而 MyISAM 就不可以了;

MyISAM 适合查询以及插入为主的应用,InnoDB 适合频繁修改以及涉及到安全性较高的应用; InnoDB 支持外键,MyISAM 不支持;

MyISAM 是默认引擎, InnoDB 需要指定; InnoDB 不支持FULLTEXT 类型的索引;

InnoDB中不保存表的行数,如 select count() from table 时,

InnoDB;需要扫描一遍整个表来计算有多少行,但是 MyISAM 只要简单的读出保存好的行数即可。注意的是,当 count()语句包含 where 条件时MyISAM 也需要 扫描整个表;

对于自增长的字段,InnoDB 中必须包含只有该字段的索引,但是在 MyISAM 表中可以和其他字 段一起建立联合索引;清空整个表时,InnoDB 是一行一行的删除,效率非常慢。MyISAM 则会重建表;

InnoDB 支持行锁(某些情况下还是锁整表,如 update table set a=1 where user like '%lee%'

四、如何对查询命令进行优化?

1、 应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索。

2、 应尽量避免在 where 子句中对字段进行 null 值判断,避免使用!=或<>操作符,避免使用 or 连接条件,或在 where 子句中使用参数、对字段进行表达式或函数操作,否则会导致权标扫描 c. 不要在 where 子句中的&ldquo;=&rdquo;左边进行函数、算术运算或其他表达式运算, 否则系统将可能无 法正确使用索引。

3、使用索引字段作为条件时,如果该索引是复合索引,那么必须使用到该索引中的第一个字段作为 条件时才能保证系统使用该索引, 否则该索引将不会被使用。

4、 很多时候可考虑用 exists 代替 in、 f. 尽量使用数字型字段。

5、 尽可能的使用 varchar/nvarchar 代替 char/nchar。

6、任何地方都不要使用 select from t??? ,用具体的字段列表代替&ldquo;,&rdquo; 不要返回用不到的任何字段。

7、尽量使用表变量来代替临时表。

8、避免频繁创建和删除临时表,以减少系统表资源的消耗。 k. 尽量避免使用游标,因为游标的效率较差。

9、在所有的存储过程和触发器的开始处设置 SET NOCOUNT ON ,在结束时设置 SET NOCOUNT OFF。 m. 尽量避免大事务操作,提高系统并发能力。

10、尽量避免向客户端返回大数据量,若数据量过大,应该考虑相应需求是否合理。

常见的数据库基础试题及答案汇总今天就分享到这里了,如果有兴趣的同学可以关注亿速云行业资讯,这里每天都会更新大量的优质内容,希望对你们有所帮助吧!

推荐阅读:
  1. Fragment的常见面试题和答案
  2. Spring常见面试题和答案

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

数据库 数据库试题 库基础

上一篇:SQL数据库的特点及其作用

下一篇:怎么看云服务器ECS公网流量统计的总和

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》