面试-MySQL总结】的更多相关文章

最近在准备面试,mysql 实在是不熟悉,就先摘录一些网上的面试题来看一下. 1. MyISAM 和 InnoDB 区别? InnoDB 支持事务处理,支持更大的并发update 和 insert 操作: 支持行级锁 MyISAM 性能好,多用在执行大量select操作的场景: 不支持外键 ref: https://www.cnblogs.com/kevingrace/p/5685355.html 2. Mysql 事务是什么?用来干什么的? 四大特征ACID?其中隔离性Isolation有4个…
面试官:讲讲mysql表设计要注意啥? 引言 大家应该知道烟哥最近要(tiao 咳咳咳),嗯,不可描述! 随手讲其中一部分知识,都是一些烟哥自己平时工作的总结以及经验.大家看完,其实能避开很多坑.而且很多问题,都是面试中实打实会问到的! 比如 OK,具体有下面这些问题 1.为什么一定要设一个主键? 2.你们主键是用自增还是UUID? 3.主键为什么不推荐有业务含义? 4.表示枚举的字段为什么不用enum类型? 5.货币字段用什么类型? 6.时间字段用什么类型? 7.为什么不直接存储图片.音频.视…
MySQL索引 MySQL索引的基础和类型 索引的基础:索引类似于书籍的目录,要想找到一本书的某个特定篇章,需要查找书的目录,定位对应的页码 存储引擎使用类似的方式进行数据查询,先去索引当中找到对应的值,然后根据匹配的索引找到对应的数据行. 索引对性能的影响 大大减少服务器需要扫描的数据量 帮助服务器避免排序和临时表 将随机I/O变为顺序I/O 大大提高查询速度,降低写的速度,占用磁盘 索引的使用场景 对于非常小的表,大部分情况下全表扫描效率更高 中到大型表,索引非常有效 特大型的表,建立和使用…
1.减少查询次数 ,如何减少 ?  2. 表结构优化,如何优化 ? 3. 列选取原则  ? 4.建索引原则   ? 5.mysql语句优化 ?   6.增加mysql处理性能 ? 通过这几点, 再来说细节.  这个可以扩展出很多 细节点. 基本无漏 1.减少查询次数       可通过缓存,页面静态化等  建冗余字段来达到.     2.表结构优化      原则: 定长与变长分离,常用与不常用分离   未完,待续.....…
MySQL InnoDB存储的文件结构 索引树是如何维护的? 数据库自增主键可能的问题…
三范式 三范式定义(范式和反范式) 1NF:每个数据项都是最小单元,不可分割,确定行列之后只能对应一个数据. 2NF:每一个非主属性完全依赖于候选码(属性组的值能唯一的标识一个元组,但是其子集不可以). 3NF:每一个非主属性既不传递依赖于码,也不部分依赖于码(主码=候选码为多个市,从中选出一个作为主码). BCNF:主属性(候选码中的某一个属性)内部也不能部分或传递依赖于码. 4NF :没有多值依赖. 数据类型 MySQL数据类型-菜鸟教程  MYSQL中数据类型介绍 整数: int(m)里…
1  事务的特性 事务具有四个特性:原子性(Atomicity).一致性(Consistency).隔离性(Isolation)和持续性(Durability).这四个特性也简称ACID性. (1)原子性:事务是应用中最小的运行单位,就如原子是自然界最小颗粒.具有不可再分的特征一样.事务是应用中不可再分的最小逻辑运行体. (2)一致性:事务运行的结果.必须使数据库从一个一致性状态.变到还有一个一致性状态.当数据库中仅仅包括事务成功提交的结果时,数据库处于一致性状态.一致性是通过原子性来保证的.…
MySQL的高可扩展和高可用 面试题一 MySQL分表和分区的工作原理,分表和分区的使用场景和优缺点. 分区表的原理 对用户而言,分区表时一个独立的逻辑表,但是底层MySQL将其分成了多个物理子表,这对用户来说是透明的,每一个分区表都会使用一个独立的表文件. 创建表时使用partition by 子句定义每个分区存放的数据,执行查询时,优化器会根据分区定义过滤那些没有我们需要的分区,这样查询只需要查询所需数据在的分区即可. 分区的主要目的是将数据按照一个较粗的粒度分在不同的表中,这样可以将相关的…
MySQL查询优化 面试题一 请简述项目中优化SQL语句执行效率的方法,从那些方面,SQL语句性能如何分析? 优化查询过程中的数据访问.优化长难的查询语句.优化特定类型的查询语句 分析SQL语句方法 1.使用explain或desc 分析单条SQL语句 列如:explain select * from  news: 2.记录慢查询日志 分析慢查询日志,不要直接打开慢查询日志进行分析,这样比较浪费时间和精力,可以使用pt-query-disgest工具分析. 3.使用show  profile 例…
MySQL的SQL语句编写 面试题一 有A表(id,sex,par,c1,c2),B(id,age,c1,c2)两张表,其中A.id与B.id关联,现在要求写出一条SQL语句,将B中age>50的记录的c1,c2更新到A表中统一记录中的c1,c2字段中 SQL语句一:update A as a,B as b set a.c1=b.c1,a.c2=b.c2 where a.id=b.id and age>50; SQL语句二:update A inner join B on A.id = B.i…