2019独角兽企业重金招聘Python工程师标准>>>
数据库是数据的集合,计算机中的数据库是存储器上一些文件的集合或者是内存数据的集合。Mysql,SQL server数据库都是可以存储数据,并提供数据查询,更新功能的数据库管理系统。Mysql数据库是开放源代码的关系型数据库(一组已经被组织为表结构【以行和列的形式】的信息的集合。这些信息以表的形式被存储于磁盘、磁带等的物理介质中,每个表可以有多行,而每行又可以被拆分为多列),它目前支持的功能:支持sql语言,子查询,存储过程,触发器,视图,索引,事务,锁,外键约束和影响复制等。Mysql是C/S系统的单进程多线程的架构的数据库。
Mysql区别于其他数据库系统的一个重要的特点是:支持插入式存储引擎
存储引擎:存储引擎也就是如何存储数据,如何为存储的数据建立索引,如何查询、更新数据的实现方法。关系型数据库中数据是以表的形式存储的,所以存储引擎也可以称为表类型。
Mysql数据库的存储引擎:
(1)Isam:这种类型执行读取操作的速度非常快,且不占用大量的内存和存储空间,缺点是:不支持事务处理,也不支持容错。
(2)Myisam:提供了ISAM没有索引和字段管理的功能,使用了一种表格锁定的机制,来优化多个并发的读写操作。MYISAM强调了快速读取操作。它的一个重要的缺陷是在表损坏以后不能恢复数据。适用于 做很多的count计算;插入操作较少,频繁的查询;没有事务的情况。
(3)Memory(Heap):这种类型的数据表只存在于内存中,它使用散列索引,所以数据的存取速度非常快。因为存在于内存中,所以常被用于临时表。用完表格之后一定要删除表格。
(4)InnoDB:适用于可靠性要求比较高或者要求事务;表更新和查询相当的频繁并且表锁定的机会比较大的情况。
(5)archive:这种类型只支持insert和select语句,且不支持索引。常常被用于日志记录和聚合分析。