MySQl数据库面试题
1. MySQL中索引什么作用?
索引的定义和创建的目的
1) 索引是对数据库表中一列或者多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息
2) 索引的分类:主键索引,唯一索引,常规索引,全文索引
3) 创建索引的目的就是加快检索表中的数据的速度,也就是查询数据的速度
索引是越多越好吗
1) 不是,索引过多的创建,会带来数据的写入的代价过高,即减慢数据写入速度
索引的创建为什么会影响写入的速度?
1) MyISAM引擎:数据的存储分为三个文件
* Table.frm 存储表定义
* Table.MYD 存储表数据
* Table.MYI 存储表索引
2) InnoDB引擎:存储方式
* 共享表空间:一个表中数据可以横跨多个文件
* 单独表空间:文件1,是表1的数据.文件2,是表2的数据
3) 答案:索引也是存在文件中的,索引也是一中数据也需要写到磁盘上,索引越多代表数据量越大,写入的时候可能伴随索引数据更新.
索引是如何工作的:
1) MyISAM引擎:看书场景:查看目录-->找到内容,因为有单独的文件存储索引,先找到索引在哪里MYI,然后再找数据在哪里MYD
2) InnoDB引擎:逛超市场景:寻找区域-->即找到内容
MySQL中存储引擎的区别
MyISAM引擎
1) 在进行数据的备份,迁移,恢复等操作时,非常容易,只要对文件进行操作就可以
2) 只支持表锁,没有行锁
3) 不支持事物安全,但每次读的操作是就有原子性的,所以不必担心脏读等情况
InnoDB引擎
1) 支持事物,回滚,崩溃修复,所以对数据安全性较高的业务场景都选择了这个引擎
2) 支持行级锁,行级锁的支持大大提高了数据库的并发操作能力
3) 支持外键约束,在MySQl中,只有InnoDB支持外键,在范式设计原则下,外键约束保证了数据的完整性
2. 如何分析一条查询SQL的效率?
如何进行SQl优化
1) 执行计划:explain
用法:explain <SQL语句>
MySQl数据库面试题的更多相关文章
- 总结的一些MySQL数据库面试题
1.sql语句应该考虑哪些安全性? 1.防止sql注入,对特殊字符进行转义,过滤或者使用预编译的sql语句绑定变量. 2.最小权限原则,特别是不要用root账户,为不同的类型的动作或者组建使用不同的账 ...
- MySQL 数据库面试题
原文出处:https://juejin.im/post/5a9ca0d6518825555c1d1acd 作者:Java3y 本文在原文基础上进行修改,而且没有特定针对MySQL. 一.存储过程(以及 ...
- 2020年MySQL数据库面试题总结(50道题含答案解析)
1.MySQL 中有哪几种锁? (1)表级锁:开销小,加锁快:不会出现死锁:锁定粒度大,发生锁冲突的概率最 高,并发度最低. (2)行级锁:开销大,加锁慢:会出现死锁:锁定粒度最小,发生锁冲突的概率最 ...
- SQL数据库面试题
SQL数据库面试题 1.SQL SREVER中,向一个表中插入了新数据,如何快捷的得到自增量字段的当前值 这种情况其实我们经常用到,比如我们新建了一个用户,建立完用户后我们希望马上得到这个新用户的ID ...
- Oracle数据库面试题
1.取出表中第31到40行的记录 mysql方案:select * from t order by id limit 30,10 oracle方案: select t2.* from (select ...
- .NET面试题系列(十六)数据库面试题
数据库事务的四大特性 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚.因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响. ...
- SQL SERVER 数据库面试题
1.用一条SQL语句 查询出每门课都大于80分的学生姓名 name kecheng fenshu 张三 语文 81张三 数学 75李四 语文 ...
- Oracel 数据库面试题
1.取出表中第31到40行的记录mysql方案: , oracle方案: select t2.* ) t2 2.truncate和delete有什么区别TRUNCATE TABLE在功能上与不带WHE ...
- asp.net 数据库面试题(基础)
今天到某公司笔试,数据库考的比较多,但是说老实话,考的也比较基础.现在趁回忆得起来,将数据库知识简单整理如下: 一.建表指令 比如创建一个学生表student,它由学号Sno,姓名Sname,性别Ss ...
随机推荐
- SpringCloud:学习Gateway网关拦截器的ServerWebExchange
1.Gateway的拦截器 我们要在项目中实现一个拦截器,需要继承两个类:GlobalFilter, Ordered GlobalFilter:全局过滤拦截器,在gateway中已经有部分实现,具体参 ...
- 图上的并行处理 Parallel Processing of Graphs
Graph 本次学术前沿讲座由邵斌老师主讲,标题已经揭示了主题:Graph.1.5h的talk,听完自觉意犹未尽.本来以为是一节自己没接触过的图形学的talk,没想到讲的很多内容都跟自己学过的很多东西 ...
- 冰多多团队-第九次Scrum例会
冰多多团队-第九次Scrum会议 工作情况 团队成员 已完成任务 待完成任务 zpj debug, IAT debug, IAT 牛雅哲 debug, IAT 接通新的语音识别接口和termux,完成 ...
- SAS PROC MEANS 输出每个变量的描述性统计量
ods listing close;ods output summary=class;proc means data=CC.Model_Params stackods n mean std min m ...
- BGP MPLS IP V匹N基本概念
BGP/MPLS IP VPN基本概念 Site 在介绍VPN时经常会提到"Site",Site(站点)的含义可以从下述几个方面理解: · Site是指相互之间具备IP连通性的一组 ...
- ubuntu解决网络连接的优先级
ubuntu下无线连接网络,有线连接板卡,解决网络连接的优先级 1. 查看网关 ip route show dev wlp2s0 proto kernel scope link src dev wl ...
- C# 将DataTable数据写入到txt文件中
见代码: /// <summary> /// 将DataTable里面的内容写入txt文件 /// </summary> /// <param name="dt ...
- 百度URL参数解析
在用Python爬取百度搜索的内容时,发现百度搜索的url非常的长,往往会跟一大段的参数,但其实很多参数都是没有必要的,如同样是搜索java关键字,可以通过 http://www.baidu.com/ ...
- Git 配置环境
安装 在Fedora/CentOS下安装 $ sudo yum install git 在Debian/Ubuntu Linux下载安装 $ sudo apt-get install git Wind ...
- 湖南省第6届程序大赛第6题 Biggest Number
Problem F Biggest Number You have a maze with obstacles and non-zero digits in it: You can start fro ...