mysql数据库及存储引擎介绍

定义:数据库是由一个个文件组成(一般来说是二进制文件)的,是依照某种数据模型组织起来并存放于二级存储器中的数据集合。

 

数据库实例:数据库实例是程序,是位于用户和操作系统之间的一层数据管理软件,用户对数据库数据的任何操作,包括数据库定义,数据查询、数据维护、数据库运行控制等都是在数据库实例下进行的,应用程序只有通过数据库实例才能和数据库打交道。

 

存储引擎:存储引擎是基于表的,而不是基于数据库;mysql数据库区别于其他数据库的最重要的一个特点就是其插件式的表存储引擎

 

InnoDB存储引擎:支持事务,其特点是行锁设计、支持外键,并支持类似于oracle的非锁定读,即默认读操作不会产生锁。从mysql 5.5.8开始,InnoDB存储引擎就是默认的存储引擎。对表中数据的存储,InnoDB是采用聚集的方式,因此每张表的存储都是按主键的顺序进行存放,如果没有显示的在表定义时指定主键,InnoDB存储引擎会为每一行生成一个6字节的ROWID,并以此作为主键。

 

MyISAM存储引擎:是mysql 5.5.8之前默认的存储引擎。MyISAM存储引擎不支持事务,表锁设计,不支持外键,支持全文索引。MyISAM存储引擎另一个与众不同的地方是它的缓冲池只缓存索引文件,而不缓存数据文件,这点和大多数数据库都非常不同。在MySQL 5.0之前,MyISAM默认支持的表大小为4GB,如果需要支持大于4GB的MyISAM表时,需要设置MAX_ROWS和AVG_ROW_LENGTH 属性。在MySQL 5.0之后,MyISAM默认支持的表大小为256TB。

 

MRG_MyISAM存储引擎:merge存储引擎,也被认作MRG_MyISAM存储引擎,可以把一组MyISAM数据表当做一个逻辑单元来对待,让我们可以同时对他们进行查询。构成一个Merge数据表结构的各成员MyISAM数据表必须具有完全一样的结构,每一个成员数据表的数据列必须按照同样的顺序定义同样的名字和类型,索引也必须按照同样的顺序和同样的方式定义。

 

Archive存储引擎:Archive存储引擎只支持insert和select操作,从mysql 5.1开始支持索引。Archive存储引擎使用zlib算法将数据行进行压缩后存储,压缩比一般可达1:10。正如其名字所示,Archive存储引擎非常适合存储归档数据,如日志信息等。Archive存储引擎使用行锁来实现高并发的插入操作,但是其本身并不是事务安全的存储引擎,其设计目标主要是提供高速的插入和压缩功能。

 

BlachHole存储引擎:BlackHole存储引擎不管写入任何信息,都是有去无回(不存储任何数据),用于记录binlog做中继存储。

 

CSV存储引擎:CSV存储引擎是基于CSV格式文件存储数据(应用于跨平台的数据交换)

 

Memory存储引擎:Memory存储引擎(之前称heap存储引擎),将表中的数据存放到内存中,如果数据库重启或发生崩溃,则表中的数据都将消失。它非常适合存储临时数据的临时表,以及数据仓库的纬度表。Memory存储引擎默认使用哈希索引,而不是我们熟悉的B+树索引。只支持表锁,并发能力较差,并且不支持text和blob列类型,存储变长字段(varchar)时,是按照定长字段(char)进行存储的,因此会浪费内存。

 

Performance_Schema存储引擎:mysql 5.5新增的一个存储引擎,主要用于收集数据库服务器性能参数,表的内容在数据库服务器启动时重新填充,服务器关闭时丢弃。用户是不能创建存储引擎为Performance_Schema的数据表

 

mysql支持全文索引吗?

支持,MyISAM、InnoDB(mysql5.6之后)、Sphinx存储引擎都支持全文索引

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值