事务,一个事务其实相当于一个线程
开启一个事务,就相当去开启了一个线程
解决事务的问题,可以用serializable,这个serializable相当于多线程里面的synchronized关键字,虽然安全,但是效率低
概念:如果一个包含多个步骤的业务操作,被事务管理,那么这些操作要么同时成功,要么同时失败
Mysql数据库默认是自动提交的
事务提交的两种方式:自动提交 、手动提交
修改事务的默认提交方式:查看事务的默认提交方式:select @@autocommit
修改默认的提交方式:set @@autocommit
事务的四大特征(面试常考)
索引分类
索引语法
创建索引
查看索引
删除索引
alter命令
索引的设计原则
针对表来说: 查询操作比较多的表
针对字段来说: 从where子句的条件中提取
针对索引来说: 使用唯一索引,不要建立太多的索引,使用短索引
视图
视图概述
存储过程
case
repeat![在这里插入图片描述](https://img-blog.csdnimg.cn/20200726140702720.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyMzUwNzg1,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200726142555910.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyMzUwNzg1,size_16,color_FFFFFF,t_70)
while
lOOP
游标
触发器
update
Mysql的体系结构
增删改查都是操作的是文件系统中的文件,文件系统就在磁盘上
存储引擎
在Mysql5.5之后,存储引擎默认的是Innodb
在Mysql5.5之前,存储引擎默认的是MylSAM
各种存储引擎
MylSAM存储引擎不支持事务
存储表 存储数据 存储索引
存储引擎的选择
优化sql步骤
第一条sql命令show status like “Com_______”
第二条命令show global status like ‘Innodb_rows_%’
通过这两条命令就知道这张表是以insert 还是select为主
第3条命令:show processlist;
explain分析执行计划