ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MySQL面试题整理(摘录自:马士兵教育)

2022-07-12 10:35:16  阅读:119  来源: 互联网

标签:index 面试题 -- 数据 查询 索引 MySQL ref 摘录自


一、mysql为什么需要王从同步?
1、在业务复杂的系统中,有这么一个情景,有一句sql语句需要锁表,导致暂时不能使用读的服务,那么就很影响运行中的业务,使用主从复制,让主库负责写,从库负责读,这样,即使主库出现了锁表的情景,通过读从库也可以保证业务的正常运作。
2、做数据的热备
3、架构的扩展。业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库的存储,降低磁盘I/O访问的频率,提高单个机器的I/O性能。
二、mysql执行计划之一——type
type显示的是访问类型,访问类型表示我是以何种方式去访问我们的数据,最容易想的是全表扫描,直接暴力的遍历一张表去寻找需要的数据,效率非常低下,访问的类型有很多,效率从最好到最坏依次是:
system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery >range > index > ALL

--system:表只有一行记录(等于系统表),这是const类型的特例,平时不会出现
--const:这个表至多有一个匹配行
--eq_ref :使用唯一性索引进行数据查找
--ref:使用了非唯一性索引进行数据的查找
--ref_or_null:对于某个字段即需要关联条件,也需要nu11值的情况下,查询优化器会选择这种访问方式
--index_merge:在查询过程中需要多个索引组合使用,没有模拟出来
--unique_subquery :该连接类型类似与index_subquery,使用的是唯一索引
--index_subquery:利用索引来关联子查询,不再扫描全表
--range:表示利用索引查询的时候限制了范围,在指定范围内进行查询,这样避免了index的全索引扫描,适用的操作符:=,>,>,>=,<,<=,IS NULL,BETWEEN,LIKE,or IN()
--index:全索引扫描这个比all的效率要好,主要有两种情况,一种是当前的查询时覆盖索引,即我们需要的数据在索引中就可以索取,或者是使用了索引进行排序,这样就避免数据的重排序
--ALL:全表扫描,一般情况下出现这样的sq1语句而且数据量比较大的话那么就需要进行优化。

三、简述mysql中索引类型有哪些,以及对数据库的性能的影响?
  1、普通索引:允许被索引的数据列包含重复的值
  2、唯一索引:可以保证数据记录的唯一性
  3、主键索引:是一种特殊的唯一索引,在一张表中只能定义一个主键索引,主键用于唯一标识一条记录,使用关键字primary key来创建
  4、联合索引:索引可以覆盖多个数据列
  5、全文索引:通过建立倒排索引,可以极大的提升检索效率,解决判断字段是否包含的问题,是目前搜索引擎使用的一种关键技术
  索引可以极大地提高数据的查询速度
  通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能
  但是会降低插入、删除、更新表的速度,因为在执行这些写操作的时候,还要操作索引文件
  索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要遍历聚簇索引,那么需要的空间就会更大,如果非聚簇索引很多,一旦聚簇索引改变,那么所有非聚     簇索引都会跟着变
四、什么是mysql的主从复制?
  MySQL主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点。MySQL默认采用异步复制方式,这样从节点不用一直访问主服务器来更新自己的数据,数据的更新可以在远程连接上进行,从节点可以复制主数据库中的所有数据库或者特定的数据库,或者特定的表。





标签:index,面试题,--,数据,查询,索引,MySQL,ref,摘录自
来源: https://www.cnblogs.com/cvnewfish/p/16469043.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有