今天给大家分享 21 个 MySQL 面试题。1、Mysql中有哪几种锁?MyISAM 支持表锁,InnoDB 支持表锁和行锁,默认为行锁。表级锁:开销小,加锁快,不会出现死锁。锁定粒度大,发生锁冲突的概率最高,并发量 最低。行级锁:开销大,加锁慢,会出现死锁。锁力度小,发生锁冲突的概率小,并发度最高。2、Mysql支持事务吗?在缺省模式下,MYSQL 是 autocommit 模式的,所有的数据
100 道 MySQL 数据库经典面试题解析一. MySQL索引使用有哪些注意事项呢?1、索引哪些情况会失效2、索引不适合哪些场景3、索引的一些潜规则二. MySQL遇到过死锁问题吗,你是如何解决的?三. 日常工作中你是怎么优化SQL的?四. 说说分库与分表的设计分库分表方案:常用的分库分表中间件:分库分表可能遇到的问题五. InnoDB与MyISAM的区别六. 数据库索引的原理,为什么要用B+
目录MySQL数据库:1.char和vachar的区别: 2.varchar和text区别: 3.SQL注入:BUG4. 事务的四大特征ACID5.术语:提交事务,回滚事务(事务回滚)6.什么是索引?7.为什么使用索引?8.MySQL的锁9.什么是死锁?10.如何处理死锁?11.SQL的执行顺序
1、MySQL偶尔会出现OOM(内存溢出)现象,导致MySQl服务重启,以下哪种方式能有效缓解OOM的情况发生()A.适当调低innodb_buffer_pool_size大小,5.7之前需要重启MySQL服务。B.降低并发,避免查询分组排序和更多table cache。C.开启swap。D.将一个实例下库表拆成多个库表(分库分表)。 答案:ABC解释:D.分库分表会open更多的表,占
因为有大家的支持,我们才能做到现在,感谢你们这一路上对我们的支持.在这篇文章中,我们将主要针对MySQL的实用技巧,讲讲面试中相关的问题.1. 如何使用SELECT语句找到你正在运行的服务器的版本并打印出当前数据库的名称?答:下面的语句的结果会显示服务器的版本和当前的数据库名称?在Database一列中显示NULL是因为我们当前没有选择任何数据库。因此,使用下面的语句先选择一个数据库,就能看到相应
互联网产品必然是需要有架构的,架构包含接入层、储蓄层、逻辑处理等等,其中存储层承载着数据落地和持久化的任务,同时给逻辑处理层提供数据查询功能支持。而一提到储蓄层必然就要说数据库了,对于数据库的掌握也是软件工程师面试时必考的知识点。1.简单描述mysql中, 索引、主键、唯一索引、联合索引的区别,对数据库的性能有什么影响(从读写两方面)索引是一种特殊的文件,它们包含对数据表里所有记录的引用指针索引的
文章目录存储引擎InnoDB的主要特点是什么?InnoDB与MyISAM的区别?查询MySQL执行一次SQL需要经过哪些流程?为什么MySQL 8.0默认关闭了缓存开启?EXPLAIN如何使用?索引MySQL索引默认用哪种数据结构?优点是什么?索引为什么不用平衡二叉树?如果用Hash索引会有什么问题?聚簇索引和非聚簇索引的区别?什么是最左前缀原则?什么是覆盖索引?为什么MySQL选择B+Tree
答案是自己理解整理的。。。。。。。。。。。。 1、MySQL的复制原理以及流程复制有三个步骤: 1、Master将数据改变记录到二进制日志(binary log)中,也就是配置文件log-bin指定的文件,这些记录叫做二进制日志事件(binary log events) 2、Slave通过I/O线程读取Master中的binary log events并写入到它的中继日志(relay l
Linux运维必会的MySQL企业面试题基础笔试命令1、开启MySQL服务[root@localhost ~]# /etc/init.d/mysqld start [root@localhost ~]# service mysqld start [root@localhost ~]# systemctl start mariadb [root@localhost ~]# systemctl sta
基础语法1、表的连接分为几类? ①内连接;②外连接;③全连接 2、三种连接有什么区别? ①内连接取得是两表的交集部分 ②外连接默认取得的是单表中的所有记录,添加where条件可取的交集以外的部分。如果是左连接,则默认检索出左表的所有记录,而右表中的记录必须在左表中也有满足条件的记录才能够检索出来;右连接同理,相反。 ③全连接获得的是笛卡尔积,两表连接的所有记录 3、对一个自增表插入5条
表名和字段 –1.学生表 Student(s_id,s_name,s_birth,s_sex) --学生编号,学生姓名, 出生年月,学生性别 –2.课程表 Course(c_id,c_name,t_id) – --课程编号, 课程名称, 教师编号 –3.教师表 Teacher(t_id,t_name) --教师编号,教师姓名 –4.成绩表 Score(s_id,c_id,s_score) --学生
文章目录一、MySQL高频面试20问1.1 MySQL的三大范式?1.2 MyISAM与InnoDB区别?1.3 聚簇索引和非聚簇索引的区别?1.4 char和varchar的区别?1.5 Innodb为什么推荐使用自增ID?1.6 什么是索引?1.7 索引类型?1.8 索引底层数据结构?1.9 B树与B+树区别?为何用B+树?1.10 索引字段是int好还是varchar好?1.11 索引设计
MySQL50题01、 查询’01’课程比’02’课程成绩高的所有学生的学号;#自连接
select
a.S_id ,s.Sname
from
sc a,sc b,student s
where
a.C_id = 01
and b.C_id = 02
and a.S_id = b.S_id
and s.S_id = a.S_id
and a.score > b.score#2.长形
一、前言MySQL对于很多Linux从业者而言,是一个非常棘手的问题,多数情况都是因为对数据库出现问题的情况和处理思路不清晰。在进行MySQL的优化之前必须要了解的就是MySQL的查询过程,很多的查询优化工作实际上就是遵循一些原则让MySQL的优化器能够按照预想的合理方式运行而已。今天给大家体验MySQL的优化实战,助你高薪之路顺畅!图 - MySQL查询过程二、优化的哲学
1、MySQL 中有哪几种锁?1、表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。2、行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。3、页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。2、MySQL 中有哪些不同的表格?共有5 种类型的表格:1、MyISAM2、Heap3、Me
原创
2022-02-17 22:03:14
166阅读
1、MySQL的复制原理以及流程基本原理流程,3个线程以及之间的关联;主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中;从:io线程——在使用start slave 之后,负责从master上拉取 binlog 内容,放进 自己的relay log中;从:sql执行线程——执行relay log中的语句;2、MySQL中myis...
原创
2022-03-09 15:27:41
116阅读
1、订单、库存两个表如何保证数据的一致性?在一个电子商务系统中,正常的应
原创
2022-10-13 10:07:48
69阅读
1、MySQL的复制原理以及流程基本原理流程,3个线程以及之间的关联;主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中;从:io线程——在使用start slave 之后,负责从master上拉取 binlog 内容,放进 自己的relay log中;从:sql执行线程——执行relay log中的语句;2、MySQL中myis...
原创
2021-04-14 15:36:50
110阅读