1、MySQL偶尔会出现OOM(内存溢出)现象,导致MySQl服务重启,以下哪种方式能有效缓解OOM的情况发生( ABD)
A 开启swap。
B 降低并发,避免查询分组排序和更多table cache。
C 将一个实例下库表拆成多个库表(分库分表)。
D 适当调低innodb_buffer_pool_size大小,5.7之前需要重启MySQL服务。
2、mysql5.7 online ddl中,以下哪种方式会通过copy方式进行? A
A 修改列类型
B 新增列
C 修改表自增起始值
D 添加索引
3、MySQL中以下约束哪个不是单表约束? B
A 主键约束
B 外键约束
C 非空约束
D 唯一约束
4、有以下查询: select t1.name from t1,t2 where t2.id = t1.id。 如果想让优化器首先访问T2,之后在关联T1。 可以通过下面哪种写法? ABC
A select /*+ JOIN_PREFIX(t2) */t1.name from t2 JOIN t1 on t1.id = t2.id;
B select /*+ JOIN_ORDER(t2, t1) */t1.name from t2 JOIN t1 on t1.id = t2.id;
C select t1.name from t2 STRAIGHT_JOIN t1 on t1.id = t2.id;
D select /*+ JOIN_FIXED_ORDER */t1.name from t2 JOIN t1 on t1.id = t2.id;
5、在MySQL 8.0.20版本中,下列关于SELECT子句中OUTFILE的位置正确的是?BCD
A. SELECT INTO OUTFILE 'file_name' * FROM table_name;
B. SELECT * FROM table_name INTO OUTFILE 'file_name' FOR UPDATE;
C. SELECT * FROM table_name FOR UPDATE INTO OUTFILE 'file_name';
D. SELECT * INTO OUTFILE 'file_name' FROM table_name;
6、单选题
MYSQL中强制采用索引的HINT是哪个?
force index
7、MySQL删除表的几种方式,选择正确的描述()
如果需要联合其他表,则需要使用delete from
delete 仅删除表数据,支持where条件过滤,支持回滚,记录日志
delete 操作后返回删除的记录数,而 truncate 返回的是0或者-1
8、单选题
以下哪些不是mysql 8.0中的新特性? C
A 索引跳扫
B 窗口函数
C 索引反向扫描
D 不可见索引
9、单选题
MySQL中查看列的约束的视图是哪一个?
C key_column_usage
10、多选题
MySQL在创建以下哪些约束时会自动创建索引。
D 外键约束
E 主键约束
F 唯一约束
11、(单选题)以下关于mysql安装目录描述错误的是?A
A、其余3项以上都不正确B、bin目录用于存储一些可执行文件
C、lib目录用于存储一些库文件
D、include目录用于存储一些头文件
12、单选题
下面哪个选项是 MySQL binlog 日志落盘的顺序? AA commit -->write--->flush--->sync
B write -->commit--->flush--->sync
C commit -->write--->sync--->flush
D write-->commit --->sync--->flush
13、单选题
MySQL中key_column_usage视图列ordinal_position表示什么含义? AA 列在约束中的位置
B 列在索引里的位置
C 列在表中的位置
D 列在视图里的位置
14、多选题
在MySQL中,执行set names 'charset_name'命令,会同时设置以哪些系统变量的值? CEFA character_set_database
B character_set_server
C character_set_client
D character_set_system
E character_set_connection
F character_set_results
15、多选题
备份所有数据库用以下哪个语句? CDA mysqldump -u root -p mysql user > msyql-user.sql
B mysqldump -u root -p auth > auth.sql
C mysqldump -u root -p -A > all-db.sql
D mysqldump -u root -p --all-databases > all-db.sql
16、单选题
SQL命令分组查询?SELECT * from Table_Name GROUP BY值
17、多选题
关于explain执行计划,explain_type 有哪几个类型? BCDA JSON
B EXTENDED
C PARTITIONS
D FORMA T = format_name
18、单选题
MySQL中,预设的拥有最高权限超级用户的用户名为?root@'localhost'
19、单选题
以下哪种方式不能用于分析MySQL语句性能问题? DA 使用 慢查询日志
B 使用 SHOW STATUS分析系统各项参数
C 使用 Performance Schema数据库相关表
D 使用 BINLOG
E 使用show processlist
F 使用 SHOW PROFILE
G 使用information_schema数据库的profiling表
20、多选题
mysql在innodb_flush_log_at_trx_commit=1的配置下,以下说法错误的是? ABCA 一个事务回滚的时候,与它相关的redo log一定还没写入到磁盘
B 一个事务还没有提交的时候,与它相关的redo log一定还没写入到磁盘
C 一个事务回滚的时候,与它相关的redo log一定已经写入到磁盘
D 一个事务提交的时候,与它相关的redo log一定已经写入到磁盘
21、单选题
mysql中一个表ii有12条记录。那select 'jilu' from ii;会是什么结果? DA 1条'jilu'
B 报错
C 无结果
D 12条'jilu'
22、单选题
在MySQL中以下哪组索引是重复索引? BA idx_01(a,b),idx_02(b)
B idx_01(a),idx_02(a)
C idx_01(a,b),idx_02(a)
D idx_01(a,b),idx_02(b,a)
23、多选题
下面关于mysql唯一索引说法正确的是? ABCA 唯一索引查询比普通索引略快,是因为可以少扫描一些行
B 当插入一行新数据时,唯一索引不能使用change buffer优化
C 当使用replace into插入数据时,如果碰到唯一索引冲突,会先删除这行冲突记录,然后再插入新的一行
D 联合索引不能创建为唯一索引
24、单选题
有以下SQL: explain SELECT * FROM emp FORCE INDEX (emp_mgr) where job ='SALESMAN'; 其中JOB列上有索引。 创建了mgr列上索引: CREATE INDEX emp_mgr on emp(mgr); 其他列上无索引。 请问,上述SQL最终会采用何种访问方式 BA 报语法错误
B 全表扫描
C 使用emp_mgr索引
D 使用JOB列索引
25、单选题
MySQL数据库服务器的默认端口号是( 3306)。26、多选题
MySQL 有几种类型的变量 ABCDEFA 用户变量
B 系统变量
C 自定义变量
D 局部变量
E 会话变量
F 全局变量
27、单选题
MySQL 8.0中,通过参数validate_password.policy设置不同的密码验证策略,其中默认的密码验证策略值是多少? BA 0
B 1
C 2
28、单选题
以下关于mysql安装目录描述错误的是? CA include目录用于存储一些头文件
B bin目录用于存储一些可执行文件
C 其余3项以上都不正确
D lib目录用于存储一些库文件
29、多选题
在数据库系统中,有哪几种数据模型 ABDA 关系模型
B 网状模型
C 实体联系模型
D 层次模型
30、单选题
SQL命令统计数量?SELECT COUNT(*) from Table_Name
31、以下哪些不是mysql 8.0中的新特性?A
A 索引反向扫描
B 索引跳扫(8.0.13)
C 窗口函数(8.0)
D 不可见索引(8.0)
32、多选题
关于自增主键(mysql),以下说法错误的是? ABA 一个只有insert的场景,且所有insert语句都不指定自增主键值的表,自增主键列的值一定是连续且递增的
B 在一个空表里,先指定自增主键值是10,插入一行记录;然后以不指定自增值的方式插入10行数据,会报"主键冲突"错误
C 自增主键字段在达到定义类型上限后,再插入一行记录,会报"主键冲突"错误
D 将自增主键定义从int改成bigint时,会导致全表重做
33、在 MySQL 8.0 的那个版本中增加了克隆插件?C
A 8.0.28
B 8.0.12
C 8.0.17
D 8.0.21
34、单选题
Innodb存储引擎存储引擎状态报告中,关于os wait和spin,下面说法正确的是 D
A os wait和spin 都不持续占有cpu资源
B os wait和spin都持续占用cpu资源
C os wait持续占用CPU资源,spin释放cpu资源
D os wait释放CPU资源,spin 持续占有CPU资源
35、单选题
下面关于null说法正确的是? CA null等于''
B null等于0
C null参与数值计算后结果是null
D null等于空格
36、MySQL若要监控TOP SQL语句,一般需要打开以下哪些配置选项? BCD
A、setup_consumers表的events_transactions_current
B、setup_consumers表的statements_digest
C、setup_instruments表的statement/sql/select
D、setup_consumers表的events_statements_current/events_statements_history
【答案解析】statement/sql/select 用于采集相关SQL语句的执行信息。 events_statements_current/events_statements_history:用于记录当前/历史语句的执行信息到相关表中。 statements_digest:用于对相应SQL语句按照DIGEST值汇总到events_statements_summary_by_digest表中,因此也是分析TOPSQL主要的参考表。 events_transactions_current:用于记录当前正在执行的事务信息,无法分析TOP SQL语句。
37、多选题 关于explain执行计划,explain_type 有哪几个类型? ABD
A FORMA T = format_name
B PARTITIONS
C JSON
D EXTENDED
38、单选题 以下双方之间属于多对多关系的是 B
A 学生—语文成绩
B 用户—角色
C 用户—银行卡
D 用户—手机号
39、单选题 下列聚集函数不忽略空值(NULL)的是 B
A AVG(列名)
B COUNT(*)
C SUM(列名)
D MAX(列名)
40、多选题 在MySQL权限管理中,以下哪些是全局性范围的权限(ABD)?
A Process
B Reload
C Create
D Usage
E Lock tables
41、单选题 MySQL里change buffer的作用?D
A 如数据变更mysql里都是通过change buffer 进行数据的修改
B 主键更新的时候也进行也会使用change buffer提升速度Insert语句
C 唯一建更新的时候 ,是通过change buffer提升效率
D 普通索引更新的时候,是通过change buffer提高性能
42、单选题
基于MySQL开发的知名国产数据库?BA 达梦
B TDSQL
C GaussDB
D OceanBase
43、多选题 有以下查询: select t1.name from t1,t2 where t2.id = t1.id。 如果想让优化器首先访问T2,之后在关联T1。 可以通过下面哪种写法?BCD
A select /*+ JOIN_FIXED_ORDER */t1.name from t2 JOIN t1 on t1.id = t2.id;
B select t1.name from t2 STRAIGHT_JOIN t1 on t1.id = t2.id;
C select /*+ JOIN_ORDER(t2, t1) */t1.name from t2 JOIN t1 on t1.id = t2.id;
D select /*+ JOIN_PREFIX(t2) */t1.name from t2 JOIN t1 on t1.id = t2.id;
44、多选题
当mysql执行SQL: update t1 set name=name where id=1;时是否会记录binlog,正面说法正确的是? BCA 当binlog_format=row时,且表中含日期字段且带on update current_timestamp属性时,会记录binlog
B 当binlog_format=statement时,会记录binlog
C 当binlog_format=row时,不会记录binlog
D 当binlog_format=mixed时,不确定是否会记录binlog
45、mysql5.7 online ddl中,以下哪种方式会通过copy方式进行?B
A 修改表自增起始值
B 修改列类型(正确选项)
C 添加索引
D 新增列
46、SQL命令分组查询?SELECT * from Table_Name GROUP BY值
47、SQL命令根据ID更新一条记录?UPDATE Table_Name SET C1=value WHERE ID =值
48、SQL命令根据ID删除一条记录?DELETE from Table_Name WHERE ID =值
49、如何删除一个表?DROP TABLE datatable _name;
50、如何删除一个数据库?DROP DATABASE database_name;
51、MySQL中,以下能够删除一列的是()? alter table students drop age
52、MySQL语言中,删除一个视图的命令是?drop view
53、删除表字段使用关键字drop,且要删除的字段名之后无需给定该字段的数据类型,delete是删除表中相关记录,和字段操作无关。
54、mysq在那个版本支持hash join?8.0.18
55、多选题 在 MySQL5.6 版本中引入了 GTID(Global Transaction Identifier 全局事务 ID) 复制,GTID 为每一个事务分配一个唯一的事务 ID,那么这个事务 ID 的格式由哪两部分组成? BC
A server_id
B transaction_id
C source_id
D pid
56、单选题
MySQL中: explain SELECT * FROM emp USE INDEX () where job ='SALESMAN'; 其中JOB列上有索引。其他列上无索引。 请问,上述SQL最终会采用何种访问方式 D错误 BA 使用job列索引
B 全表扫描
C 不确定
D 报语法错误
FORCE INDEX:当index_list为空时,会出现语法错误
57、单选题
下列关于“insert into 表1 select * from 表2”说法正确的是? D错误A 可以从表2中复制已有的数据到表1中。
B 表1和表2的字段可以不一样多
C 表1和表2不能是同一个表
D 以上都不对
58、单选题
delete from employee 语句的作用是什么 DA 由于没有where子句,因此不删除任何数据
B 删除当前数据库中employee表内的当前行
C 删除当前数据库中整个employee表,包括表结构
D 删除当前数据库中employee表内的所有行
59、单选题
什么是3NF?满足2NF,表中不包含已在其它表中已包含的非主关键字信息
60、多选题 MySQL使用视图时,将其当作表进行操作即可,但无法使用其对真实表进行(ABD)操作。
A 删除
B 创建
C 查询
D 更新
61、多选题)有以下查询:
SELECT * FROM city ORDER BY en_name;其中包含了排序。要增大sort_buffer_size以提升查询性能 。可以通过以下哪些方式?ABC
A set session/global sort_buffer_size = xxx;
B 修改/etc/my.cnf 配置文件中的sort_buffer_size
C 使用hint :SELECT /*+ SET_VAR(sort_buffer_size = xxx) */ * FROM city ORDER BY en_name;
62、多选题
MySQL里多表join中MySQL里用到的方式有哪些?ABCDEA Batched Key Access
B Nested-Loop Join
C Index Nested-LoopJoin
D Hash loop
E Block Nested-Loop
63、单选题
MySQL UNIQUE唯一索引的作用是( )保证各行在该索引上的值都不得重复
64、选题
在MySQL5.7版本中,以下哪种索引访问方式支持?ABCDA 索引范围扫描
B 索引全扫描
C 索引覆盖扫描
D 索引降序扫描
E 索引跳跃扫描
65、假如mysql的t1表使用InnoDB引擎,下面哪个场景会阻塞Query1: select * from t1 limit 1; BC
A 另一个线程在Query1执行之前,执行了delete from t1; 语句,且事务未提交。
B 另一个线程在Query1执行之前,执行了lock table t1 write; 语句,并执行完成。
C 另一个线程在Query1执行之前,执行了truncate table t1; 语句,当前处于waiting for metadata lock阶段。
D 另一个线程在Query1执行之前,执行了alter table t1 add index(f1);语句,且当前处于"拷贝数据到临时表"阶段。
66、选题
MySQL中,当表中数据量变更超过多少时,会重新收集统计信息?10%
67、MySQL数据库中,以下哪些方式可以授权用户远程登录?ABCDE
Agrant all on . to ‘user1’ identified by ‘’;
Bupdate mysql.user set host = ‘%’ where user = ‘用户名’; flush privileges;
Cgrant all on . to ‘user1’@’%’ identified by ‘’;
Dcreate user user1@’%’ identified by “”
Ecreate user user1 identified by “”
答案解析
创建用户时需要指定用户的登录权限,存储在USER表的HOST列中。 grant 命令为授权命令,当数据库中不存在该用户时也会同时创建用户并授权。 登陆地址host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符% 对于授权用户后面没有指定登录方式时,默认采用’%’。即允许任意远程主机登录。 也可以采用直接更改mysql.user中host列的方式,但是需要刷新权限表。
68、
69、




