MySQL 存储引擎属性比较
如何设置表的存储引擎
设置f配置文件中的--参数,设置默认存储引擎
在MySQL连接上设置当前连接的默认存储引擎
mysql> 设置 ne=;
在创建表的时候通过=语句指定表的存储引擎。
表 t1 (i INT) = ;
在创建表之后通过alter语句修改表的存储引擎。
更改表t1 = csv;
存储引擎
该存储引擎是当前MySQL版本的默认存储引擎,也是MySQL推荐的存储引擎,是一个兼具高可靠性和高性能的存储引擎。
在.7版本中,除非在配置文件中明确指定或者在创建表时使用=语句明确指定,否则默认为
存储引擎的优点是:
DML语句支持事务功能,保证ACID特性
使用行级锁保证高并发性
对于有主键的表,查询性能会围绕主键进行优化,主键也叫聚集索引,所有的数据都会存放在聚集索引上,以减少主键查询的IO消耗。
为了保证数据的一致性,还支持外键属性,保证有外键约束的表之间不会出现不一致的数据。
当服务器硬件或者软件故障导致MySQL重启时,会自动识别故障前已经提交的数据,并回滚故障时所有未提交的数据,最大限度的保障数据不丢失(崩溃)
存储引擎属性
存储引擎
该存储引擎是旧版本MySQL的默认存储引擎,由于其表级锁定特性,在读写操作时性能受限,常用于只读表或者读操作占多数的表上,比如一些Web应用和数据仓库相关的表
每个表在磁盘上都会生成三个文件,表名和文件名相同但是后缀不同,.frm文件存储表的结构信息,.MYD文件存储表的数据信息,.MYI文件存储表的索引信息。
存储引擎
存储引擎将所有数据存储在内存中,以加快对一些不重要的数据的访问
由于提供了数据缓存来将经常访问的数据缓存在内存中,因此该存储引擎的使用范围有所减少。
当MySQL重启的时候,表中的数据会丢失,但是表结构仍然存在。
它只适用于只读表或者读操作占多数的情况,因为对表的写操作也会引发表锁,大大限制并发。
表创建后会在磁盘文件中生成同表名的文件,后缀名为.frm,该文件只存储了表结构而不存储表数据。
CSV 存储引擎
Csv存储引擎下的表对应文本文件,里面的数据以逗号分隔,csv表可以用于导入导出csv格式的表格。
在创建csv表时,磁盘会生成三个以表名命名的文件,.frm文件用来存储表的结构信息,.CSV文件用来存储以逗号分隔的数据信息,.CSM文件用来存储表的结构信息。元数据,包括表的状态以及有多少行数据
mysql> 表 t(id int not null,name char(10) not null) =csv;
查询成功,0 行(0.00 秒)
mysql> 进入 t (1,'一'),(2,'二');
查询成功,2 行(0.00 秒)
:2 :0 :0
mysql> * 来自 t;
+----+------+
| 编号 | 名称 |
+----+------+
| 1 | 一 |
| 2 | 二 |
+----+------+
共 2 行 (0.00 秒)
mysql> ls /usr/local/mysql/data/test
db.opt t.CSM t.CSV t.frm
mysql> cat /usr/local/mysql/data/test/t.CSV
1,"一"
2,“二”
存储引擎
存储引擎表用于存储大量未索引的历史档案数据。
该表会在磁盘上创建两个文件,.frm文件用于存储表结构信息,.ARZ文件用于存储历史档案数据。
该表支持 、AND 语句,但不支持 AND 语句
表支持行级锁定
支持列,并且可以在其列上包含索引,但不能在其他字段上创建索引
不支持将小于当前最大值的数据插入到列中。
存储引擎将使用 zlib 来压缩数据
存储引擎
Merge存储引擎可以在逻辑上将一批具有相同字段、相同索引、相同顺序的表视为同一个
Merge 表在磁盘上创建两个文件。.frm 文件保存表的结构信息。.MRG 文件包含所有被视为同一张表的表。
合并表支持,,,语句执行
创建合并表时,需要执行union子句将指定的合并起来,选项用于指定语句是把数据插入到第一个表FIRST还是最后一个表LAST,不指定或者NO表则不允许插入。
表 t1 (a int 非空键,char(20)) =;
表 t2(a int 非空键,char(20)) =;
进入 t1 () (''),('table'),('t1');
进入 t2 () (''),('table'),('t2');
表总计(a int not null,char(20),索引(a))=合并并集=(t1,t2)=最后;
* 来自总数;
mysql> * 来自总计;
+---+---------+
| 一 | |
+---+---------+
| 1 | |
| 2 | 表 |
| 3 | t1 |
| 1 | |
| 2 | 表 |
| 3 | t2 |
+---+---------+
共 6 行 (0.00 秒)
存储引擎
存储引擎提供了将数据从一个 MySQL 实例连接到其他实例的能力。
存储引擎默认是处于状态的,如果要启用,需要在启动MySQL时启用。
使用-选项
存储引擎
存储引擎只存在于MySQL源代码中,仅供开发人员使用,对于实际的数据库用户来说没有太大的意义。
该表只保留表结构,不保存数据本身
NDB 存储引擎
NDB存储引擎是MySQL软件中专用的,是MySQL为了提高可用性和可靠性而自己推出的集群软件。
扫一扫在手机端查看
- 上一篇:域名解析级别_域名解析.doc
- 下一篇:mysql批量造数据_MySQL存储引擎
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。