系统运维

数据库章节简答题分享

时间:2010-12-5 17:23:32  作者:应用开发   来源:应用开发  查看:  评论:0
内容摘要:今天老男孩教育为大家分享——数据库章节简答题——MySQL数据库面试题1.1 选择题 和 1.2 填空题https://new.oldboyedu.com/blog/368.html1.3 简答1.3

  今天老男孩教育为大家分享——数据库章节简答题——MySQL数据库面试题

  1.1 选择题 和 1.2 填空题 https://new.oldboyedu.com/blog/368.html

  1.3 简答

  1.3.1 简述 mysql 单机安装过程

  1.在官网下载二进制包

  2. 解压,数据并修改/etc/my.cnf 文件

  3.初始化数据

  4.启动

  1.3.2 mysql 登录命令

  mysql -u -p -h -P

  1.3.3 说明数据库内存结构中 SGA 和 PGA 的库章组成,以及这两个内存区存放信息的节简区别?

  SGA 区由数据缓冲区、共享池、答题重做日志缓冲区、分享大型池、数据JAVA 池构成;PGA 区由排序区、库章私有 SQL 区以及堆栈构成。节简

  SGA 区是答题由 Oracle 分配的共享内存结构,包含一个数据库实例共享的分享数据和控制信息。当多个用户 同时连接同一个实例时,数据SGA 区数据供多个用户共享,库章所以 SGA 区又称为共享全局区。节简用户对数 据库的答题各种操作主要在 SGA 区中进行。该内存区随数据库实例的分享创建而分配,随实例的终止而释 放。PGA 区是在用户进程连接数据库,创建一个会话时,由 Oracle 为用户分配的内存区域,保存当 前用户私有的数据和控制信息,因此该区又称为私有全局区。每个服务器进程只能访问自己的 PGA 区,WordPress模板所有服务器进程 PGA 区总和即为实例的 PGA 区的大小。

  1.3.4 说明数据库表空间的种类,以及不同类型表空间的作用

  共享表空间,独立表空间。

  共享表空间是一个库的数据都存放一个文件内,独立表空间是一个表一个 ibd 与 frm 文件

  1.3.5 mysql 表中的中文字体乱码,原因可能是什么?如何修改 ?

  字符集编码问题

  ALTER TABLE 表名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

  1.3.6 mysql 忘记密码如何操作?

  --skip-grant-tables ----> 跳过授权表(mysql.user)

  --skip-networking ----> 跳过网络用户连接

  1.3.7 请写出目前市场上最常见的 2-5 种关系型数据库厂家,并注明他们产品的最新版和你熟悉的或 者解除过的版本:

  厂家:最新版本:熟悉的版本:接触过的版本

  mysql 5.6 5.7

  Oracle、MsSQL(SQL Server)、PG

  1.3.8 如何修改 mysql 的 root 密码?

  set password for 用户名@localhost = password(新密码);

  1.3.9 请举出几个你熟悉的关系型数据库管理系统和非关系型数据库管理系统,非关系型数据库相比 之下有什么不同之处(好处和不足)?

  关系型:mysql,Oracle;

  非关系型:redis,mongodb;

  非关系快,操作简单,有几率丢数据

  1.3.10 存储过程与函数的区别?

  存储过程是免费信息发布网用户定义的一系列 sql 语句的集合,涉及特定表或其它对象的任务,用户可以调用存储 过程,而函数通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定用户 表。

  1.3.11 什么是视图,游标是什么?

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

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

  1.3.12 你对数据库了解吗?你们公司的数据库是什么样的?

  高可用 MySQL 及主从架构与读写分离,使用的 MySQL

  1.3.13 你们公司数据库最大连接数是多少?

  目前了解并发不到 2000

  1.3.14 MySQL 数据库 storage engine 中的 myisam、innodb 有什么差别?

  myisam 是表级锁,不支持事务,支持温备

  innodb 是行级锁,支持事务,自动故障恢复,外键,热备

  1.3.15 请列举几个常见的 nosql db 你最熟悉那个?

  redis memcached mongodb

  1.3.16 简述 where 和 having 的区别?

  Where 子句是用来指定 "行" 的条件的,而 Having 子句是指定“组”的条件的

  所以 Where 子句 = 指定行所对应的条件

  所以 Having 子句 = 指定组所对应的条件

  当在 Where 子句和 Having 子句中都可以使用的条件,从语句的执行效率来看,最好写在 Where 子句中。

  在使用 Count 函数等对表中的数据进行聚合操作时,DBMS 内部会进行排序处理,而排序操作会增加机器的负担,减少排序的行数,可以增加处理速度。

  使用 Where 子句指定条件时,由于排序之前就对数据进行了过滤,所以能够减少排序的数据量。但是 Having 子句是在排序之后才对数据进行分组的,因此与前者相比,需要排序的数据量就要多得多。

  第三,使用 Where 子句更具速度优势的另一个理由是,可以对 Where 子句指定条件所对应的列创建 索引,这样可以大幅提高处理速度。

  第四,Where 子句中不能使用聚合函数,而 Having 子句中可以。

copyright © 2025 powered by 编程之道  滇ICP备2023006006号-34sitemap