mysql学习思维模型

本文介绍了MySQL的逻辑架构,包括服务层、核心层和存储引擎层,并详细解释了线程管理、查询优化及存储引擎的功能。此外,还提供了基本的SQL语句示例,如创建和删除数据库、表的操作等,最后探讨了SQL优化技巧和事务处理。
摘要由CSDN通过智能技术生成


mysql是一种单进程,多线程的软件

从mysql逻辑架构分析主要分为三层:

    1.服务层

    2.核心层

    3.存储引擎层

服务层:主要是完成线程的管理进程中可以派生出新的线程,在创建和消除线程是一种消耗系统资源,所有mysql就创建出一个                线程缓冲池,将不用的线程放到缓冲池中,可以解决并发量大的问题

核心层:主要就是处理查询的优化

存储引擎层:可插式存储引擎(查询管理操作数据的),可以处理文件系统,文件和日志

这个是对mysql在自己的脑海中有个模型

学习一些基本的创建删除表,数据库的sql语句:

简单的SQL语句
创建数据库
 CREATE DATABASE 数据库名字
删除数据库
 DROP DATABASE  数据库名字    
显示所有的数据库 
SHOW DATABASES 显示所有的数据库
当输入的语句存在细节上的错误的时候可以通过上下键可以调出刚刚的写的语句
创建和删除表
CREATE TABLE 表名

DROP TABLE 表名


显示所有的表
SHOW TABLES 


操作指定的数据库
USE 数据库名


查看数据表结构
DESC 表名 


详细的查看该表创建的信息
show create table 表名




插入到表中的数据
insert into 表名 set 字段=插入的内容

还有一些多表查询,总之这些sql语句只要多写几次就会,写法是固定的,再下来我会分享一个sql的优化

主要讲述了在实际的写sql语法的过程中需要注意的写法,以及如何的提升运行的效率

事务在sql中是很重要的

事务是由一组SQL语句组成的逻辑处理单元
原子性Atomicity
一致性Consistent
隔离性Isolation

持久性Durable

从事务的概念就能联系到我们所谓的并发的问题

MYSQL的并发控制
多事物执行方式:
串行执行方式:同一时间只有一个事物运行效率低,无法充分利用资源

交叉并发执行:多事物交叉运行单处理器的并发方式

同时并发执行:多处理器系统中使用每个处理器处理一个事物

并发执行导致的问题:并发势必面临同读同写 问题,同读同写 导致破坏事物隔离性和数据不一致

发生数据不一致3种情况:
1.丢失修改
2.不可重复读

3.读 脏数据

当我们产生并发所带来的问题我们就需要想着如何的解决并发给我们带来的问题?

并发就是一起执行了同一个事务,那我们就应该想着如何控制,限制让多个人执行同一件事

这个时候锁机制就出来

锁:
因为为了避免多事物并发处理导致数据不一致,所以多个事物之间要隔离。事物对某个数据对象操作前,先向系统发出请求,对其枷锁,枷锁后,事物则对此数据对象具有一定的控制,在释放锁之前,其他事物不能更新此数据对象

锁分类:基本两种
读锁:
又称为共享锁,当事物1对某个数据对象加读锁,则其他事物只能对此数据对象读加锁,不能加写锁,直到事物1释放锁

写锁:
又称为排他锁
当事物1对某个数据对象加写锁,则其他事物都不能对此数据对象加任何锁

悲观锁和乐观锁

本质上是对锁机制的一种看待角度
悲观锁:
  是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程     中,将数据处于锁定状态

乐观锁:

  相对悲观锁而言,乐观锁假设认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与  否进行检测,如果发现冲突了,则让返回用户错误的信息,让用户决定如何去做

接下来就是我们在创建表的,表中的那些字段的类型,每个类型能存储的大小,这个在后续补充

根据我们实际的需求来决定需要的数据类型的大小

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值