mysql的简单介绍_mysql的简单介绍

本文介绍了MySQL数据库的内部结构,包括连接管理器、分析器、缓存区和优化器,强调了InnoDB和MyISAM存储引擎的区别。同时,讨论了数据库失败的原因、并发控制机制如多版本并发控制和锁管理,以及行锁在InnoDB中的实现。此外,还提到了索引的作用和类型,以及事务控制和MySQL 5.5引入的重要特性,如默认存储引擎变为InnoDB和表分区功能的增加。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysql的简单介绍

数据库的内部链接

1)连接管理器:用户或应用程序连接 2)分析器`3)缓存区4)优化器:优化器执行的结果交由存储引擎,再转向物理层

表空间:

Myisam每个表有三个文件:frm (表结构); myd(表数据);myi(表索引)

Innodb:所有表空间再一个文件

数据库失败的原因

1)此前的服务没有关闭

2)数据库初始化失败

3)数据目录位置有错误

4)数据目录路权限问题

并发控制

1)多版本并发控制:

并不直接在数据库中修改,可以建立快照,用户在快照上进行修改,并加以时间戳,最后合并到原数据

2)锁:

读:共享锁

写:独占锁

Mysql服务器仅支持表级锁,行锁需要在存储引擎完成

索引

优点:加快数据的检索速度

创建唯一性的索引,保证数据库表的每一行的数据的唯一性

加速表和表的连接

缺点:索引需要物理空间

三种常用的索引:唯一索引,主健索引,和聚集索引

Innodb引擎表是聚集索引组织,myisam引擎表则是堆组织表

【聚集索引】

聚集索引是一种索引组织形式,索引的健值逻辑顺序决定了表数据行的物理存储顺序,而非聚集索引则就是普通的索引了,仅仅只是对数据列创建响应的索引,不影响整个表的物理存储顺序

innodb的行锁

Innodb的行锁是通过索引上的索引项加锁来实现的,这一点mysql与orace不同,后者是通过数据块中对相应的数据加锁来实现的。

Innodb这种行锁实现特点意味着,只有通过索引条件检索数据,innodb才使用行级锁,否则,innodb将使用表锁

事务控制

Mysql命令行的默认下,事务都是自动提交的,sql语句提交后马上会执行commit操作,因此开始一个事务必须使用begin,start,transaction,或者执行set autocommit=0

mysql5.5引入了哪些重要的特性

1)默认存储引擎更改为innodb

2)多核性能上提升

3)增加表分区功能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值