MySQL基础

开辟新系列,数据库的复习之录。这并不是新的学习,而是一个复习记录。

1. 认识数据库

数据库,即就是数据的管理仓库
在知道数据库之前,我们知道存储的数据信息都是用文件,如doc、xls等,但是文件保存数据会有如下的缺陷:

  1. 数据的安全性
  2. 数据的查询问题
  3. 大量数据的管理问题

上述的问题可以交给数据库了,数据库就像是一个数据的仓库,并带有管理的功能。

2. 数据库的分类

SQL server:微软的产品,.Net程序员的最爱,中大型项目。
Oracle: 甲骨文产品,适合大型项目,复杂的业务逻辑,并发一般来说不如MySQL。
MySQL:世界上最受欢迎的数据库,属于甲骨文,并发性好,不适合做复杂的业务。
上述的数据库都是学习过的,从操作语句上来说没有太多区别。后面以MySQL为线索进行叙述。

3. mariaDB

MySQL之父Widenius先生离开了Sun之后,觉得依靠Sun/Oracle来发展MySQL,实在很不靠谱,于是决定另开分支,这个分支的名字叫做MariaDB。
后面使用的也是这个数据库。
这个数据库的历史请参见MariaDB的历史
这个数据库的安装请参见MariaDB的安装

4. 常用存储引擎

存储引擎是数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。
MySQL的核心就是插件式存储引擎,支持多种存储引擎。
查看引擎

show engines;

在这里插入图片描述从上图可知,MySQL存储引擎主要有:Memory、Mrg_Myisam、CSV、Blackhole、MyIsam、 InnoDB、Archive、Federated、Performance_Schema等。

但是最常用的是InnoDB和Mylsam。

4.1 InnoDB存储引擎

InnoDB是事务型数据库的首选引擎,通过上图也看到了,InnoDB是目前MYSQL的默认事务型引擎,是目前最重要、使用最广泛的存储引擎。支持事务安全表(ACID),支持行锁定和外键。由于锁的粒度更小,写操作不会锁定全表,所以在并发较高时,使用Innodb引擎会提升效率。但是使用行级锁也不是绝对的,如果在执行一个SQL语句时MySQL不能确定要扫描的范围,InnoDB表同样会锁全表。

4.2 MyISAM存储引擎

MyISAM基于ISAM存储引擎,并对其进行扩展。它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。MyISAM拥有较高的插入、查询速度,但是它没有提供对数据库事务的支持,也不支持行级锁和外键,因此当INSERT或UPDATE数据时即写操作需要锁定整个表,效率便会低一些。

上述引擎都是采用B+Treee索引结构。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值