1 数据库分类

  MySQL Oracle redis

2 MySQL 存储引擎有哪些

  ENGINE=InnoDB 提供事务安全表,支持外键。

  MyISAM

  Memory数据存入内存中,如果内存出现异常或事重启关机,所有数据都会消失

3 事务

  概念:逻辑上的一组sql语句,组成这组操作的sql语句,要么成功,要么失败。

3.1 事务四大特性ACID

  原子性(Atomicity):事务是一个不可分割的单位,事务中的sql语句,要么全都发生,要么都不发生。

  一致性(Consistency):事务发生前后,数据的完整性必须保持一致。

  隔离性(Isolation):当并发访问数据库的时候,一个正在执行的事务在执行完前,对于其他的会话是不可见的,多个并发的事务之间的数据库相互隔离。

  持久性(Durability):一个事务一旦被提交,数据库中的数据改变就是持久性的。如果出了错误也不能撤销。

3.2 事务隔离级别

  对于同时运行的几个事务,当这些事务同时访问数据库时,如果不采取隔离措施就会导致各种并发问题。由此引出隔离级别的概念,总有4个,由低到高,可逐步解决脏读,不可重复读,幻读等问题。

  Default spring:默认隔离级别,使用数据库默认的事务隔离级别

  read_uncommitied:读未提交,一个会话可以读取其他事务未提交的更新结果,一旦这个事务被回滚了,导致这个会话的结果不正确了。

  read_commited:读已提交,一个会话只能读取其他事务已经提交的更新结果,否则,等待。但是其他会话可以修改这个事务中被读取的记录,而不必等待事务结束。导致了,一个事务中两个相同的读取操作,其结果可能不同。

  repeatable_read:重复读取,在数据读取出来后加锁,直到这个事务执行结束。

  serlalizable:串行化,不管多少事务,只有执行完一个事务的所有子事务后,才可以执行另外一个事务里的所有子事务。

3.3 数据库设置的隔离级别read_commited

  可以避免脏读,且具有较好的并发性能,可能出现的问题场景,可以使用悲观锁或乐观锁控制。

4 悲观锁和乐观锁,以及使用场景

  悲观排他后,不能修改数据,即在数据被操作的时候,锁定数据不被访问。

  乐观排他后,可以修改数据,即假设数据一般情况下不会造成冲突。

5 如何实现分页

  使用sql语句关键字limit

6 数据库三大范式

1NF:对属性的原子性约束,要求属性具有原子性,不可再分解。

2NF:对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性。

3NF:对字段冗余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有冗余。

7 Mysql有哪些索引:fulltext、hash、btree、rtree

8 什么时候该建立索引

  1)表的主键、外键必须有索引

  2)数据量超过300的表应该有索引

  3)经常与其他表进行连接的表,在连接字段上应该建立索引

  4)经常出现在where子句中的字段,特别是大表的字段,应该建立索引

9 sql关键字执行顺序:select->from->where->group by->having->order by

10 explain包含哪些列


如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!

Mysql系统知识梳理的更多相关文章

  1. MySQL 基础知识梳理

    MySQL 的安装方式有多种,但是对于不同场景,会有最适合该场景的 MySQL 安装方式,下面就介绍一下 MySQL 常见的安装方法,包括 rpm 安装,yum 安装,通用二进制安装以及源码编译安装, ...

  2. MySQL 基础知识梳理学习(一)----系统数据库

    information_schema 此数据库是MySQL数据库自带的,主要存储数据库的元数据,保存了关于MySQL服务器维护的所有其他数据库的信息,如数据库名.数据库表.表列的数据类型及访问权限等. ...

  3. MySQL 基础知识梳理学习(五)----详解MySQL两次写的设计及实现

    一 . 两次写提出的背景或要解决的问题 两次写(InnoDB Double Write)是Innodb中很独特的一个功能点.因为Innodb中的日志是逻辑的,所谓逻辑就是比如插入一条记录时,它可能会在 ...

  4. MySQL 基础知识梳理学习(四)----GTID

    在日常运维中,GTID带来的最方便的作用就是搭建和维护主从复制.GTID的主从模式代替了MySQL早期版本中利用二进制日志文件的名称和日志位置的做法,使用GTID使操作和维护都变得更加简洁和可高. 1 ...

  5. MySQL 基础知识梳理学习(七)----sync_binlog

    一般在生产环境中,很少用MySQL单实例来支撑业务,大部分的MySQL应用都是采用搭建集群的方法.搭建MySQL集群,可以进行数据库层面的读写分离.负载均衡或数据备份.基于MySQL原生的Replic ...

  6. MySQL 基础知识梳理学习(五)----半同步复制

    1.半同步复制的特征 (1)从库会在连接到主库时告诉主库,它是不是配置了半同步. (2)如果半同步复制在主库端是开启了的,并且至少有一个半同步复制的从节点,那么此时主库的事务线程在提交时会被阻塞并等待 ...

  7. MySQL 基础知识梳理学习(三)----InnoDB日志相关的几个要点

    1.InnoDB的特点 :(1)Fully ACID (InnoDB默认的Repeat Read隔离级别支持):(2)Row-level Locking(支持行锁):(3)Multi-version ...

  8. MySQL 基础知识梳理学习(二)----记录在页面层级的组织管理

    1.InnoDB的数据存储结构 InnoDB中数据是通过段.簇.页面构成的. (1)段是表空间文件中的主要组织结构,它是一个逻辑概念,用来管理物理文件,是构成索引.表.回滚段的基本元素.创建一个索引( ...

  9. MySQL 基础知识梳理学习(六)----锁

    1.什么是锁: 对共享资源进行并发访问控制,提供数据的完整性和一致性. 2.锁的区别: 类型 lock latch 对象 事务 线程 保护 数据库内容 内存数据结构 持续时间 整个事务过程 临界资源 ...

随机推荐

  1. 浏览器环境下JavaScript脚本加载与执行探析之defer与async特性

    defer和async特性相信是很多JavaScript开发者"熟悉而又不熟悉"的两个特性,从字面上来看,二者的功能很好理解,分别是"延迟脚本"和"异 ...

  2. 【文文殿下】 [USACO08MAR]土地征用 题解

    题解 斜率优化裸题. 有个很玄学的事情,就是我用\(f[i]=min\{f[j-1]+p[j].y*p[i].x\}\) 会很奇怪的Wa . 明明和\(f[i]=min\{f[j]+p[j+1].y* ...

  3. 36_并发编程-multiprocess模块

    仔细说来,multiprocess不是一个模块而是python中一个操作.管理进程的包. 之所以叫multi是取自multiple的多功能的意思,在这个包中几乎包含了和进程有关的所有子模块.由于提供的 ...

  4. ReactiveCocoa 源码阅读记录。

    1:RACSingle 需要订阅信号 RACSignal *signal = [RACSignal createSignal:^RACDisposable * _Nullable(id<RACS ...

  5. 【kuangbin专题】计算几何_半平面交

    1.poj3335 Rotating Scoreboard 传送:http://poj.org/problem?id=3335 题意:就是有个球场,球场的形状是个凸多边形,然后观众是坐在多边形的边上的 ...

  6. 【dpdk】使用libpcap-PMD驱动收发包

    ref: Dpdk programmer’s guide 1.  概述 dpdk不仅提供针对物理和虚拟网卡的pmd驱动(Poll Mode Drivers),还提供两个纯软件的pmd驱动,libpca ...

  7. 谈一谈对MySQL InnoDB的认识及数据库事物处理的隔离级别

    介绍: InnoDB引擎是MySQL数据库的一个重要的存储引擎,和其他存储引擎相比,InnoDB引擎的优点是支持兼容ACID的事务(类似于PostgreSQL),以及参数完整性(有外键)等.现在Inn ...

  8. cAdvisor+InfluxDB+Grafana 监控Docker

    容器的监控方案其实有很多,有docker自身的docker stats命令.有Scout.有Data Dog等等,本文主要和大家分享一下比较经典的容器开源监控方案组合:cAdvisor+InfluxD ...

  9. 从用户浏览器输入url到用户看到页面结果的过程,发生了什么事情?

    1.域名解析 域名解析的过程:  1).查询浏览器自身DNS缓存 2).若上面没有查找到,则搜索操作系统自身的dns缓存 3).若上面没有找到,则尝试读取hosts文件 4).若上面没有找到,向本地配 ...

  10. MapReduce中的partitioner

    1.日志源文件: 1363157985066 13726230503 00-FD-07-A4-72-B8:CMCC 120.196.100.82 i02.c.aliimg.com 24 27 2481 ...